java - 如何检查 Java 上的 SSLSocket 连接是否正常?

标签 java sockets ssl

我有一个 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/

相关文章:

java - MouseListener 和 JTree

c - 在套接字上设置超时不起作用

javascript - 使用 sc-server 代理 HTTPS 请求

node.js - Amazon Elatisc BeanStalk 单实例上的 SSL 端口 NodeJS

Python - Oauth2 的 SSL 问题

java - Firebase 从 DataSnapShot 检索存储的 ArrayList 给出 NullPointerException

java - Resteasy 可以查看 JAX-RS 方法的参数类型吗?

java - Oracle 服务总线 11G REST api Java 连接到 OSB 时出现套接字问题

java - Kotlin 协程或任何协程在执行 DB 操作时是否会阻塞线程?

java - 启用 java 安全管理器限制 udp 套接字数