DatagramSocket socket=new DatagramSocket(ServerAddress.clientPort);
socket.setSoTimeout(1000);
DatagramPacket rec ;
while (true) {
byte[] data=new byte[1024];
rec = new DatagramPacket(data, data.length);
socket.receive(rec);
}
放在一个线程中 一直监听服务器那边有没有发消息过来,但是服务器明明发了 就是收不到
服务器通过udp给客户端发送消息,你的服务器和客户端是在同一个网段么?
也就是说你用于测试的IP是什么?
客户端是使用的公网IP么?有没有开启防火墙?使用的端口是什么?是不是特殊的端口?
但是我先send在receive接收服务器响应的时候,是可以接收到的,很纳闷为什么
尝试一下,socket创建的时候,不要指定IP,就指定端口,因为IP经过映射后可能不是预期的。