看了下UDP编程的书。写了个简单的例子。代码如下:
Java代码
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();
}
}
}
这个类用来接受消息。
Java代码
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();
}
}
}
这个类用来发送消息。