我在打开新的Socket
连接 30 秒后遇到了 Android 飞行模式的奇怪问题和Socket
异常。
以下是我在应用程序上执行的操作,这些操作会产生问题:
- 打开
Socket
连接并打开和关闭飞行模式。 - 重新打开与服务器的新
Socket
连接。 - 等待 30 秒,然后通过
DataInputStream
readByte()
呼叫获得java.net.SocketException: Software caused connection abort
。
我已经检查了我的服务器日志,但服务器没有断开客户端的连接。
有谁知道是什么原因造成的?我浏览过其他帖子,但也有同样的例外,但它们都有更详细的错误消息。我还可以使用该Socket
连接发送和接收消息 30 秒,但随后它会随机抛出异常。
我认为要处理这种情况,打开飞行模式并转动您应该使听众 对于互联网连接,当互联网状态更改为有连接时,重建您的插座,当状态更改为无互联网时,关闭插座 您可以在此处找到有关互联网连接更改侦听器的示例