android开启service循环发送udp报文给服务器,正常一段随机时间后,服务器就收不到报文了。不知怎么回事?

翰斯 发布于 2016/01/26 20:56
阅读 837
收藏 0

服务器:Win 2008server;

搭建在内网,做了端口映射,电信的外网端口

客户端:Android的service里循环发送信息

每次发送用随机端口发送并接收回复

DatagramSocket socket = new DatagramSocket();

socket.setSoTimeout(5000);

dataPacket = new DatagramPacket(sendDataByte, sendDataByte.length,
                    InetAddress.getByName("xxxxx"), PORT);

dataSocket.send(dataPacket);

channel.socket.receive(rcvDP);

最后也关闭了 socket。

偶尔出现发送随机个包后,服务器就收不到信息了(有打印证明)。客户端也没有报发送异常,只有超时异常。然后这个服务就一直保持这个状态。activity其他调用这个发送开随机端口都可以发送并得到服务器的回复。就这个service给服务器发送不了了。

不知道是哪里没有做对,希望大家指教。谢谢先

加载中
返回顶部
顶部