socket的客户端判断连接是否正常

 

    socket类的方法中 isClosed()、isConnected()、isInputStreamShutdown()、isOutputStreamShutdown()等,这些方法都是本地端的状态,无法判断远端是否已经断开连接,如果远程服务器把socket关闭了,这些状态都没有任何的变化。

 

方法sendUrgentData,客户端它会往输出流发送一个字节的数据,只要对方Socket的SO_OOBINLINE属性没有打开,就会自动舍弃这个字节,而SO_OOBINLINE属性默认情况下就是关闭的,     于是,下面一段代码就可以判断远端是否断开了连接:

       socket.sendUrgentData(0xFF);

 

你可能感兴趣的:(socket的客户端判断连接是否正常)