在 C# 中,当套接字连接终止时,会在终止链接之前通知其他节点,因此剩余节点可以更新连接状态。
在 Java 中,当我终止通信链接时,另一个节点会继续报告连接有效。
我是否需要实现一个读取周期(有意义),当它在读取期间收到 -1 时报告连接丢失(我认为在 C# 中这是 0)?
感谢您的见解。
编辑:谢谢你们。正如我怀疑并在我的帖子中提到的那样,需要进行额外的检查以确认连接的连接状态。
最佳答案
如果连接的远程端消失,如果可以检测到断开连接,通常您会从 InputStream/InputChannel 获得 IOException。如果它无法检测到断开连接,则最终将在套接字读取超时时抛出 IOException。可以使用 Socket.setSoTimeout() 调整等待超时的时间长度。
关于c# - Java 套接字断开连接报告与 C# 断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2805561/