DatagramPacket 数据报包
发送数据包
package com.netCode;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
//UDP不需要连接服务器
public class UdpClientTest01 {
public static void main(String[] args) throws Exception {
//1.建立一个socket
DatagramSocket socket=new DatagramSocket();
//2.创建一个数据包
InetAddress inetAddress=InetAddress.getByName("localhost");
int port=9099;
String msg="你好啊,我的傻老公";
DatagramPacket datagramPacket=new DatagramPacket(msg.getBytes(),0,msg.getBytes().length,inetAddress,port);
//3.发送数据包
socket.send(datagramPacket);
//4.关闭数据流
socket.close();
}
}
接收数据包
package com.netCode;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
//还是要等待客户端连接
public class UdpServerTest02 {
public static void main(String[] args)throws Exception {
//开发端口
DatagramSocket datagramSocket=new DatagramSocket(9099);
//接收数据包
byte[] buffer=new byte[1024];
DatagramPacket datagramPacket=new DatagramPacket(buffer,0,buffer.length);
//阻塞接收
datagramSocket.receive(datagramPacket);
//打印收到的信息
System.out.println(datagramPacket.getAddress().getHostAddress());
System.out.println(new String(datagramPacket.getData(),0,datagramPacket.getLength()));
//关闭连接
datagramSocket.close();
}
}
输出
127.0.0.1
你好啊,我的傻老公