【发布时间】:2011-09-30 22:42:53
【问题描述】:
我有一个在专用服务器上在线运行的 Java 网络服务器,还有一个用 Android SDK 和 java 编写的 Android 网络客户端。
如果android设备连接WIFI可以正常工作,但是如果我使用3G连接设备,当我从客户端调用:readInt()时,套接字会关闭。它不是在第一次通话时发生,而是在以后发生。它看起来很随机,很难解释,但是当没有数据被读取太多(或没有)时,它可能会发生。例外是SocketException connection reset by peer。
我想更具体地解释一下,但调试起来非常困难,而且在我看来,它看起来像一个 Android 错误(不确定)。这就是我问这个问题的原因。因为肯定有人遇到过同样的问题。
Android 设备的 WIFI 连接和 3G 连接有什么区别,会产生这种断开连接?有什么办法可以解决这个问题?
如果有人可以提供帮助,谢谢。
编辑:我的 3G 连接没有中断。正在鸣叫的是插座,而且只有插座。只有当我连接到 3G 时才会发生这种情况。不在WIFI中。
【问题讨论】:
-
不知道你们的服务怎么样,但是我的3G一直掉线。当您重新连接到 3G 热点时,您的 DHCP 租约不是更新了吗?会造成新的IP,所以数据包不同。不会重新连接到同一个套接字。
-
是的,您也可以从一个塔切换到另一个塔,这可能会降低您的 cxn(未验证)。