求助:局域网 UDP 通信,有时发不出去包
最近遇到一个局域网UDP通信问题:
在android端使用DatagramSocket发送UDP包,大部分时候是正常的,接收端可以收到,有时忽然就收不到了,App重启也收不到,必须重启手机才可以,追踪代码没发现问题,DatagramSocket.send也没有抛出异常
这个功能的目的是设备搜索,我的通信过程:
PC端在局域网内发UDP广播,android端收到广播后向PC端IP地址发回包,这样PC端就知道这台设备的存在了,然后建立TCP连接进行数据传输
大部分时候都是好的,偶然的时候android端可以收到PC的广播,也正常调用了DatagramSocket.send,但是PC端就是收不到包
在PC上用抓包工具查看,确实没有收到回包
PC再发广播,android还可以收到,但还是发不出回包,只有重启手机才能OK
我在PC端写了一个循环测试工具,每5秒发一次广播,重复几百次后就会出现这个问题
有点摸不着头绪了,有没有遇到过类似问题的朋友帮帮忙?