// 创建用来发送数据报包和接收数据的套接字
DatagramSocket ds = new DatagramSocket(3457);
String str = "getMsg";
//发送广播到端口号3456,构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号
DatagramPacket dp = new DatagramPacket(str.getBytes(),str.getBytes().length,InetAddress.getByName("255.255.255.255"), 3456);
ds.send(dp);
while(true) {
//接收数据包
try {
byte[] arr = new byte[1024];
DatagramPacket packet = new DatagramPacket(arr, 17);
//设置超时为1秒
ds.setSoTimeout(1000);
// 接收消息
ds.receive(packet);
InetAddress address = packet.getAddress();
String str1 = new String(packet.getData(),0,packet.getLength());
} catch(SocketTimeoutException s){
break;
}catch (Exception e) {
e.printStackTrace();
break;
}
}
ds.close();
java UDP服务端广播
最新推荐文章于 2024-08-17 16:14:42 发布