javaSocket编程UDP

看了下UDP编程的书。写了个简单的例子。代码如下:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class UDPReceive {

	public static void main(String[] args) {
		Integer port = 2345;
		byte[] buffer = new byte[2048];
		try {
			DatagramSocket datagramSocket = new DatagramSocket(port);
			DatagramPacket datagramPacket = new DatagramPacket(buffer,
					buffer.length);
			try {
				for (;;) {
					System.out.println("begin receive data....");
					datagramSocket.receive(datagramPacket);
					System.out.println(datagramPacket.getAddress().getAddress().toString()+"======="+new String(datagramPacket.getData()));
					datagramPacket.setLength(datagramPacket.getData().toString().length());
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (SocketException e) {
			e.printStackTrace();
		}

	}

}

 这个类用来接受消息。

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UDPSend {
	public static void main(String[] args) {
		try {
			for (;;) {

				DatagramSocket sendSocket = new DatagramSocket();
				DatagramPacket dataPack = new DatagramPacket(
						"hello ,welcome to study java..".getBytes(),
						"hello ,welcome to study java..".length(), InetAddress
								.getByName("127.0.0.1"), new Integer(2345));
				try {
					sendSocket.send(dataPack);
					sendSocket.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		} catch (SocketException e) {
			e.printStackTrace();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
	}

}

 这个类用来发送消息。

 

你可能感兴趣的:(java,编程,.net)