抱歉,如果这已张贴在我工作/寻找几天的地方。
问题:
通过对等网络与 android 设备进行通信时,我收到了 SocketTimeoutExceptions。
细节:
发生这种情况时,android 设备使用自己的移动网络而不是 wifi(无论如何,wifi 并不是为使用而设计的)。
android 设备成功地从 whatismyip.com 获取他们的 ipAddress。
一台设备将通过我们使用的对等网络以外的其他方式向另一台设备发送其 IP 地址。
远程设备的ip地址将成功到达本地设备。
当本地设备通过对等网络响应时,会发生 TimeoutException。
我试过的:
将超时延长到相当长的时间段。
使用其他安卓设备。
值得注意的:
应该注意的是,这个相同的点对点网络已经过测试,可以在局域网上的 PC(如果重要,运行 linux 和 windows)之间成功工作。还刚刚在我们的 PC 上通过我们的有线互联网连接测试了对等网络,它确实有效。
我猜:
我认为该设备以某种方式被 isp 隐藏了,我将不得不编写一些代码来执行类似于 nat 遍历的操作,但我不太确定。但话又说回来,如果设备被隐藏,我应该得到一个连接被拒绝的异常。
任何帮助深表感谢。
PS我目前无法发布代码,即使可以,整个过程也需要几千行代码。