[socket]尴尬的close_wait状态以及应对策略([socket] awkward close_wait status and coping strategies).doc

[socket]尴尬的close_wait状态以及应对策略([socket] awkward close_wait status and coping strategies).doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[socket]尴尬的close_wait状态以及应对策略([socket] awkward close_wait status and coping strategies)

[socket]尴尬的close_wait状态以及应对策略([socket] awkward close_wait status and coping strategies) [Socket] awkward CLOSE_WAIT status and coping strategies Writers Edition This article assumes that you are familiar with the Socket, C++, and TCP states. Zheng Yun @ Linktone First draft Chapter content The reason for the generation of the CLOSE_WAIT state Reuse local addresses and ports Calm down or force off? summary Abstract: This article explains why the socket connection is locked in the CLOSE_WAIT state and by what measures to avoid this situation. Not long ago, my Socket Client program ran into a very embarrassing error. It should have continued to send data to the server on a socket long connection. If the socket connection is broken, the program will automatically retry the connection. One day, discovery programs are constantly trying to build connections, but they always fail. Check with netstat, the program has thousands of socket connections, in the CLOSE_WAIT state, so that reached the upper limit, so can not establish a new socket connection. Why is that so? Why are they all in the CLOSE_WAIT state? The reason for the generation of the CLOSE_WAIT state First of all, we know that if our Client program is in the CLOSE_WAIT state, it will indicate that the socket is passively closed! Because if the Server side is actively breaking the current connection, then the two sides shut down the TCP connection, a total of four packet: Server FIN Client Server ACK Client At this point, the Server side is in the FIN_WAIT_2 state; and our program is in the CLOSE_WAIT state. Server FIN Client At this point, Client sends FIN to Server, and Client to the LAST_ACK state. Server ACK Client Server responds to ACK, and then the Client socket is really in the CLOSED state. Our program is in the CLOSE_WAIT state, rather than LAST_ACK, indicating that no FIN to Server, it may be in close connection before there are a lot of data to be sent or other things to do, cause not the FIN pa

您可能关注的文档

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档