/**
* UDP的网络编程
* 先启动接受方,后启动发送方
*/
public class UDPTest {
/**
* 发送方
*/
@Test
public void send() {
DatagramSocket socket = null;
try {
//封装发送的数据
String msg = "我正在测试UDP方式的网络编程";
byte[] data = msg.getBytes();
//指定发送方IP地址
InetAddress inetAddress = InetAddress.getByName("127.0.0.1");
//封装数据报
DatagramPacket datagramPacket = new DatagramPacket(data, 0, data.length, inetAddress, 9001);
socket = new DatagramSocket();
//发送数据报
socket.send(datagramPacket);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null) {
socket.close();
}
}
}
/**
* 接受方
*/
@Test
public void receiver() {
DatagramSocket socket = null;
try {
//指定端口号
socket = new DatagramSocket(9001);
//存储发送方数据报
byte[] data = new byte[1024];
DatagramPacket datagramPacket = new DatagramPacket(data, 0, data.length);
//接收数据报
socket.receive(datagramPacket);
String msg = new String(datagramPacket.getData(), 0, datagramPacket.getLength());
System.out.println("接收到的数据是:" + msg);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null) {
socket.close();
}
}
}
}