Socket TCP大量连接 假死现象 netstat 发现非常多连接并未关闭

w23233 2015-01-14 10:01:43
如题

在在WEB转发 会有大量TCP连接
当然我是做了closesocket工作的 但是并没有 真的销毁 使用netstat 还可以查到 何解?

而且显示状态为 ESTABLISHED 已建立, 但是 确实已经被closesocket 的 咋办捏?
...全文
3223 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qmj150 2016-02-15
  • 打赏
  • 举报
回复
有时候不是马上关闭~
小竹浮生 2016-02-14
  • 打赏
  • 举报
回复
引用 8 楼 zhao4zhong1 的回复:
closesocket(s);
shutdown(s,SD_BOTH);
正解
季雨林 2016-02-14
  • 打赏
  • 举报
回复
同问,我遇到同样的问题,而且这个情况很难调试,偶尔出现,却是必然情况
赵4老师 2015-01-19
  • 打赏
  • 举报
回复

shutdown(s,SD_BOTH);
closesocket(s);
赵4老师 2015-01-19
  • 打赏
  • 举报
回复
closesocket(s);
shutdown(s,SD_BOTH);
yuzexi2009 2015-01-19
  • 打赏
  • 举报
回复
2MSL,看TCP/IP详解卷一,18.6.3章节描述。
mujiok2003 2015-01-17
  • 打赏
  • 举报
回复
TCP 主动close的一方会进入2MSL wait哦。
野男孩 2015-01-16
  • 打赏
  • 举报
回复
跟实现有关系,用IOCP的模型的话,多投递一些异步AcceptEx应该就没这问题 不然的话,就给accept一个单独线程吧
bravery36 2015-01-16
  • 打赏
  • 举报
回复
大量连接会将accept堵住,所以accept线程不要做accept外的任何多余事。
ztenv 版主 2015-01-16
  • 打赏
  • 举报
回复
如果出现CLOSE_XXX,则是关闭的时候出了问题,数据还在连接中………………
w23233 2015-01-15
  • 打赏
  • 举报
回复
引用 1 楼 coding_hello 的回复:
[quote=引用 楼主 w23233 的回复:] 如题 在在WEB转发 会有大量TCP连接 当然我是做了closesocket工作的 但是并没有 真的销毁 使用netstat 还可以查到 何解? 而且显示状态为 ESTABLISHED 已建立, 但是 确实已经被closesocket 的 咋办捏?
调用closesocket以后,netstat能查到我能理解,但是查到的状态是ESTABLISHED,我个人是表示不信的! 再仔细看代码吧。[/quote] 好吧 我看错了 状态是CLOSE_XXX忘记了 线程accept假死怎么办? 我有大客户的TCP进入 一旦假死 accept 就没办法让客户进入 就一直卡在那 然后等一会 缓一缓又可以了....
野男孩 2015-01-15
  • 打赏
  • 举报
回复
引用 楼主 w23233 的回复:
如题 在在WEB转发 会有大量TCP连接 当然我是做了closesocket工作的 但是并没有 真的销毁 使用netstat 还可以查到 何解? 而且显示状态为 ESTABLISHED 已建立, 但是 确实已经被closesocket 的 咋办捏?
调用closesocket以后,netstat能查到我能理解,但是查到的状态是ESTABLISHED,我个人是表示不信的! 再仔细看代码吧。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧