DatagramSocket ds=new DatagramSocket(30002); //接收端口号的消息
ds.setBroadcast(true);
while(true){
byte[] bys=new byte[1024];
DatagramPacket dp=new DatagramPacket(bys,bys.length);//建立信息包
ds.receive(dp);//将socket的信息接收到dp里
System.out.println("接收到数据为:"+new String(dp.getData(),0,dp.getLength()));
}
DatagramSocket ds = new DatagramSocket(); //建立通讯socket
ds.setBroadcast(true);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//读取键盘输入流
String line;
while ((line = br.readLine()) != null) {
if ("886".equals(line))
break;
byte[] bys = line.getBytes();
//建立数据包,声明长度,接收端主机,端口号
DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("127.0.0.1"), 30002);
ds.send(dp);//发送数据
}
ds.close();
1.将30002/udp 加入防火墙,无用,接收不到数据
2.systemctl stop firewalld
关掉防火墙,无用,接收不到数据
3.把windows上运行的服务端通过linux上的frp中转,可以收到。但是我想直接在linux上运行服务端,而不是还要再开一个windows用来运行服务端