请问“Server程序出现很多CLOST_WAIT,死在那里不动” 大家好,我的写Server程序出现很多CLOST_WAIT,而程序死在那里不动,这该怎么办,很急啊,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CLOSE_WAIT好像跟一个socket选项有关,程序死应该不是直接跟这个有关系的 setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(one));应该是SO_REUSEADDR 那怎么什么有关系呢?我用的是CAsyncSocket,谢了。 谢谢microyzy,能不能再说多点线索,再次感谢。 CAsyncSocket应该也是一样吧,只不过封装了而异不设置SO_REUSEADDR应该是过了一段时间以后才能重新使用该端口,你再过一段时间查看,可能CLOSE_WAIT就不存在了 TCP/IP详解里面详细说有的,但是我既不清楚了,不好意思啦我刚才看了一下,这个选项处理的是TIME_WAIT出现CLOSE_WAIT可能是你的连接双方没有正常关闭连接,导致一放等待另一方“这是一个tcp/ip实现上的问题,除非你修改你的协议,wait状态的存在是有他的道理的;而且那不会影响到新的连接;拒绝服务可能是因为并发连接数超过了listen中backlog造成的;当内核接受到的连接请求充满内核的请求队列的时候,新的连接请求就会被拒绝; 写程序,经常也碰见这种情况,主要是有一方关闭SOCKET,但是另外一方没有检测到,导致没有检测到的一方出现CLOSE_WAIT的情况” 我检测到我把Accept(pSocket)里的pSocket写成了成员指针,当多次被动关闭时,我的应用的指针泄漏会不会造成程序呆滞呢?还有,backlog问题怎么解决才好呢?我都是按默认来做的!谢了。 setlinger可能也有用。REUSEADDR能让你的LISTEN不管这个状态。 如何在写文件时捕获文件在磁盘上的物理地址 今天上午看了一段话,到现在也没整明白,谁能给讲一下,什么是name compression? 怎么知道某个组件正被哪些应用程序调用了? 请问计算机系各位程序员MFC有用吗? 菜菜的钩子问题 如何屏蔽CRichEdit的输入法输入 怎么屏蔽掉对话框中的ESC键 一个幼稚的问题,int型变量如何转换为string的 采集卡采集图像的问题 向各位高人请教!!!!如何动态加载图标!??? 如何做一个能够把数据用十六进制显示出来的类?? VC++ 6.0开发者用的MSDN版本一般是?
应该是SO_REUSEADDR
不设置SO_REUSEADDR应该是过了一段时间以后才能重新使用该端口,你再过一段时间查看,可能CLOSE_WAIT就不存在了
我刚才看了一下,这个选项处理的是TIME_WAIT
出现CLOSE_WAIT可能是你的连接双方没有正常关闭连接,导致一放等待另一方
“这是一个tcp/ip实现上的问题,除非你修改你的协议,wait状态的存在是有他的道理的;而且那不会影响到新的连接;
拒绝服务可能是因为并发连接数超过了listen中backlog造成的;当内核接受到的连接请求充满内核的请求队列的时候,新的连接请求就会被拒绝;
写程序,经常也碰见这种情况,主要是有一方关闭SOCKET,但是另外一方没有检测到,导致没有检测到的一方出现CLOSE_WAIT的情况”
REUSEADDR能让你的LISTEN不管这个状态。