Java 通过TCP连接到3G移动设备

Java 通过TCP连接到3G移动设备,java,android,tcp,connection,3g,Java,Android,Tcp,Connection,3g,因此,基本上,我正在尝试实现一个TCP连接(ServerSocket,Socket)到一个在Android上运行特别服务的3G移动设备(我使用的客户端是一台Android x86台式PC,但也可能是另一台3G移动设备) 给我一个正确的IP地址和一条移动设备发出的未检测到代理的消息 显然,我第一次尝试连接导致: java.net.SocketException:操作超时 由于移动网络运营商的一些限制/保护,我认为这有点合乎逻辑,这可能是问题的根源。我读过一篇文章,但它有点老了,和安卓没有关系 那么

因此,基本上,我正在尝试实现一个TCP连接(ServerSocket,Socket)到一个在Android上运行特别服务的3G移动设备(我使用的客户端是一台Android x86台式PC,但也可能是另一台3G移动设备)

给我一个正确的IP地址和一条移动设备发出的未检测到代理的消息

显然,我第一次尝试连接导致:

java.net.SocketException:操作超时

由于移动网络运营商的一些限制/保护,我认为这有点合乎逻辑,这可能是问题的根源。我读过一篇文章,但它有点老了,和安卓没有关系


那么,为了实现一个可公开访问的IP和端口,有没有解决这个问题的方法呢?

我认为问题也出在操作系统本身上,您不能等待3g接口上的连接,只能在无线上。不确定如何使用TCP解决此问题,但使用UDP非常简单: