我的 Android 应用程序在 s.receive(p) 处停止,因为它没有收到任何数据包。
我让 X-Plane 将数据包发送到与我想要接收这些数据包的 Android 平板电脑相同的 IP 地址中的随机端口 49059。这是因为它们正在运行相同的连接。X-Plane 使用端口 49000 发送数据包,使用端口 49001 接收数据包。
我无法弄清楚出了什么问题。我无法在 Android 平板电脑上使用 3G,这是我可以测试的唯一互联网连接。此外,清单中启用了所有互联网和 wifi 权限。有任何想法吗?这是代码:
byte[] bar = new byte[1024];
DatagramPacket p = new DatagramPacket(bar, bar.length);
DatagramSocket s = new DatagramSocket(49059);
s.setSoTimeout(30000);
s.receive(p);