免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: blackcat242
打印 上一主题 下一主题

socket无法释放问题,请大侠们帮忙看下 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-09-15 13:59 |只看该作者
那可以自己编程处理,参考SO_LINGER选项。
l.darkfire 发表于 2010-09-15 11:44



    已经试验了,用了这个选项也不行

论坛徽章:
0
12 [报告]
发表于 2010-09-15 14:41 |只看该作者
你怎么用的

论坛徽章:
0
13 [报告]
发表于 2010-09-15 15:11 |只看该作者
就是connect成功后,设置了setopt的linger选项

论坛徽章:
0
14 [报告]
发表于 2010-09-15 15:13 |只看该作者
设置了啥值

论坛徽章:
0
15 [报告]
发表于 2010-09-15 15:17 |只看该作者
//设置端口重用
        int nREUSEADDR = 1;
        ACE_OS::setsockopt(m_poStream->get_handle(), SOL_SOCKET, SO_REUSEADDR, (const char*)&nREUSEADDR, sizeof(int));
        linger sLinger;
        sLinger.l_onoff = 1; // (在closesocket()调用,但是还有数据没发送完毕的时候容许逗留)
        sLinger.l_linger = 0; // (容许逗留的时间为秒)
        ACE_OS::setsockopt(m_poStream->get_handle(), SOL_SOCKET, SO_LINGER, (const char*)&sLinger, sizeof(linger));

论坛徽章:
0
16 [报告]
发表于 2010-09-15 16:22 |只看该作者
我怀疑你没执行close操作。。。。

论坛徽章:
0
17 [报告]
发表于 2010-09-16 11:55 |只看该作者
我怀疑你没执行close操作。。。。
l.darkfire 发表于 2010-09-15 16:22



    已经打日志了,肯定是调用了
gaosanwang 该用户已被删除
18 [报告]
发表于 2010-09-16 13:18 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
19 [报告]
发表于 2010-09-16 22:45 |只看该作者
一般正常情况,一端CLOSE掉,另一端也买上走CLOSE_WAIT到关闭状态的,怀疑楼主程序写的有点问题

论坛徽章:
0
20 [报告]
发表于 2010-09-19 10:44 |只看该作者
SO_LINGER正解。
另外,如你所说有那么多句柄也不对。或者是程序问题,或者是设计问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP