1

我在 AsynTask 中有一个接收例程:

                    byte[] message = new byte[1500];
                    s = new DatagramSocket(null);
                    s.setReuseAddress(true);
                    s.bind(new InetSocketAddress(dataclass.getDataclass().GGGPort));
                    p = new DatagramPacket(message, message.length);
                    s.setSoTimeout(500);
                    s.setBroadcast(true);
                    dataclass.getDataclass().setGoOut(true);
                    s.receive(p);

这段代码非常适合在 Android 中接收 UDP 广播数据包,但我们有一个问题:当在 Android 中接收 UDP 数据包并且我关闭接入点(没有更多数据包到达)并且打开接入点后,我有同样的问题问题:超时。

在这种情况下,如果我禁用 wifi 并启用 wifi 一切都在另一次工作......

有同样问题的人吗?

4

1 回答 1

0

每次设备的连接状态发生变化时,您可能需要重新创建并重新绑定接收套接字。

于 2013-10-07T18:37:15.573 回答