如何立即识别 Java 中断开的套接字连接?

Dro*_*ona 5 java sockets

我有一个典型的java客户端和一个服务器。客户端向服务器发送一些请求并等待响应。客户端从包含的输入流中读取最多 100 字节的数据到字节数组中。它等待在指定的超时时间内(例如 3 秒)读取 100 字节的完整响应。这里的问题是确定服务器在写入响应时/之前是否出现故障或崩溃。基本上,我们需要确定套接字是否损坏或对等点是否因某种原因断开连接。有没有办法识别这个?

use*_*421 6

如何立即识别 Java 中断开的套接字连接?

无论是用 Java 还是任何其他语言,您都无法立即检测到它。TCP/IP 不知道,所以 Java 也不知道。检测断开的 TCP 连接的唯一可靠方法是写入并捕获 IOException,但它们不会立即发生。