qq_25274797
qq_25274797
采纳率25%
2017-07-11 02:28 阅读 2.2k

服务器通过udp给客户端发送消息,客户端为什么收不到呀,代码如下,请大牛帮忙看一下

10

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);

放在一个线程中 一直监听服务器那边有没有发消息过来,但是服务器明明发了 就是收不到

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    testcs_dn 微wx笑 2017-07-11 04:45

    服务器通过udp给客户端发送消息,你的服务器和客户端是在同一个网段么?
    也就是说你用于测试的IP是什么?
    客户端是使用的公网IP么?有没有开启防火墙?使用的端口是什么?是不是特殊的端口?

    点赞 评论 复制链接分享
  • qq_25274797 qq_25274797 2017-07-11 02:47

    但是我先send在receive接收服务器响应的时候,是可以接收到的,很纳闷为什么

    点赞 评论 复制链接分享
  • mical_chen 醒太迟 2020-06-19 17:25

    尝试一下,socket创建的时候,不要指定IP,就指定端口,因为IP经过映射后可能不是预期的。

    点赞 评论 复制链接分享

相关推荐