我有关于服务器端tcp绑定套接字的时间限制的问题。
在我的调查中,我发现如果tcp客户端套接字向服务器发送关闭消息,客户端将在2msl最后进入TIME_WAIT状态。
如果客户端套接字连接到服务器,但没有发送关闭消息。而且它也不会向服务器发送任何数据。服务器端套接字是否持续绑定此套接字,并且在服务器关闭之前不会将其永远关闭?
服务器端的tcp绑定套接字是否存在有限的超时时间?
感谢你的阅读,希望还有你的回复。
发布于 2013-05-20 21:48:47
不没有时间限制。连接的套接字将一直保持连接,直到连接关闭。
如果你想确保连接的两端仍然是活动的,你可以在你的协议中添加这样一个"is alive“消息,如果另一端在一定的时间限制内没有应答,你可以关闭连接。还有SO_KEEPALIVE socket option的内置功能,它将为您处理此问题,但默认的超时时间是两个小时。
https://stackoverflow.com/questions/16650821
复制相似问题