我对服务器端的tcp绑定套接字的时间限制有疑问。
在我的调查中,我发现如果tcp客户端套接字向服务器发送关闭消息,则客户端将最后进入TIME_WAIT状态2 MSL。
如果客户端套接字连接到服务器,但没有发送关闭消息。而且它也不会向服务器发送任何数据。服务器端套接字是否连续绑定此套接字,而不是永远关闭它直到服务器关闭?
服务器端的tcp绑定套接字的超时是否有限?
感谢您的阅读,希望您的回复。
答案 0 :(得分:0)
没有时间限制。连接的插座保持连接,直到连接关闭。
如果要确保连接的两端仍然存在,可以在协议中添加“is alive”消息,如果另一个在一段时间内没有应答,则可以关闭连接。还有SO_KEEPALIVE
socket option的内置功能,它将为您处理此问题,但默认超时为两小时。