我正在编写一个客户端-服务器应用程序,我的客户端是一部安卓手机,我的服务器是我的笔记本电脑。
所以我的问题是这一行代码:
Socket connectionToServerSocket = new Socket(hostName, portNumber);
当我的手机通过我的家庭 wifi 连接连接到 Internet 时工作得非常好,并且在通过 3G(蜂窝提供商)连接时只是超时,例如它会阻塞一段时间然后抛出超时异常。
有趣的是,我可以看到(使用 OS Monitor)一些应用程序是通过非常常见的端口连接的,例如端口 #80,但是将 portNumber(以及服务器正在侦听的端口)切换到 80 不会' t 帮助(例如它仍然超时),并且我尝试了许多不同的端口 - 相同的结果。
DNS 工作正常(例如,它将我给 hostName 的逻辑字符串转换为正确的 IP),但它不会向服务器发送任何内容......我迷路了,可能是什么原因?我该如何检查和解决它?