我的聊天应用程序连接到服务器,用户发送/接收信息。当连接发生变化时,例如3g-> wifi,wifi-> 3g,丢失数据连接等,socket有时会在断开连接之前保持连接状态。在此期间,无法判断连接是否仍处于活动状态,看起来好像邮件发送得很好。其他时候,发送消息时,它会抛出IO错误并断开连接。连接变化时套接字不断开
除了实现代码来检测连接更改并重新适当地重新连接之外,是否有可能在连接更改时立即抛出IO异常?
编辑:
Socket sock = new Socket();
sock.connect(new InetSocketAddress(getAddress(), getPort())), getTimeout());
//get bufferedReader and read until BufferedReader#readLine() returns null
我不使用setSoTimeout作为数据可以不被移送根据远程服务器的配置的长时间
:我使用以下代码连接。
然后看到http://stackoverflow.com/questions/969866/java-detect-lost-connection http://stackoverflow.com /问题/ 155243 /为什么 - 是 - 它不可能的 - 不 - 尝试-IO到检测 - 这-TCP-插座为宽限期 – 2010-01-05 23:23:36