更改保持活动超时以检测TCP连接是否断开

时间:2014-11-13 18:10:25

标签: java c sockets tcp udp

我一直在使用UDP。但现在轮到我使用TCP了。我想在Java和C应用程序中使用TCP套接字,用于MAC,Linux和Windows 7操作系统。

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

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

我知道读/写将在Java中抛出IOException或在C中返回-1/0,但TCP需要多长时间才能将连接视为在每个平台中断开。如何更改连接到期超时值?

0 个答案:

没有答案