我有一个 SSLSocket 池,我需要在借用对象之前检查套接字连接是否正常。
isConnected、isInputShutdown 和 isOutputShutdown 没有用,因为它们不检查双方是否已连接,如果我尝试从套接字写入或读取,我可能会收到 SocketException。
这是我用于测试连接的代码:
if(sslSocket.isConnected() &&
!sslSocket.isInputShutdown() &&
!sslSocket.isOutputShutdown()){
valid = true;
}
如上所述,此代码不起作用。
那么,检查 SSLSocket(或常规 Socket)是否正常的最佳方法是什么?
最佳答案
如果“理智”指的是已连接,则只有在尝试写入 TCP 套接字后才能检测到该套接字是否已断开连接:
http://lkml.indiana.edu/hypermail/linux/kernel/0106.1/1154.html
因此,您需要在Java中相应地使用异常。
关于java - 如何检查 Java 上的 SSLSocket 连接是否正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3568283/