所以基本上我正在尝试在Android上运行ad-hoc服务的3G移动设备上实现TCP连接(ServerSocket,Socket)(我使用的客户端是Android x86台式PC,但它也可以是另一个3G移动设备。)
WhatIsMyIP为我提供了正确的IP地址以及来自移动设备的 无代理检测 消息。
显然,我尝试连接的第一次尝试导致:
java.net.SocketException:操作超时
由于移动网络运营商的一些限制/保护,我认为这有点合乎逻辑,这可能是问题的根源。我读过similar question,但它有点陈旧,与Android无关。
为了实现可公开访问的IP和PORT,还有针对此问题的解决方法吗?
答案 0 :(得分:1)
我认为问题还在于操作系统本身,你不能等待3g接口上的连接,只能在无线上。不知道如何使用TCP解决这个问题,但使用UDP非常简单:http://en.wikipedia.org/wiki/UDP_hole_punching