有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java更改keepalive超时以检测断开的TCP连接

我已经使用UDP很久了。但现在轮到TCP被我使用了。我想在MAC、Linux和Windows 7操作系统的Java和C应用程序中使用TCPsocket

在使用UDP时,为了知道断开的连接,我跟踪了简单的最后一个数据包接收时间。如果假设节点A在5秒内没有从节点B接收到任何UDP数据包,我就认为连接断了。当没有数据从A发送到B或从B发送到A时,A和B都会每秒向彼此发送一个小的保持活动的数据包(没有数据)。这可以防止在不发送任何数据时,连接被视为断开

所以,我想知道TCP中断开连接的检测是如何工作的。基本上,我想知道,在读取或写入socket时,连接是否中断,并且仅在5秒钟内

<>我知道在抛出IO异常中java读写或返回-1/0,但是TCP在每个平台上考虑连接的时间有多长。如何更改这个连接过期超时值


共 (0) 个答案