免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7448 | 回复: 12
打印 上一主题 下一主题

unix 与 windows 有关socket 资源 释放的区别??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-07-19 13:26 |只看该作者 |倒序浏览
本人在编成中客户端采用短连接的方式与Server进行socket 连接,当server与client 均在windows xp下运行时每秒5个并发测试不成问题,但当把客户端放在hpux 下运行时却只能有每秒1个的处理能力,当加大压力时(每秒4个)这时客户端在connect 时返回错误代码 9 表示 is not a valid file descriptor.对于这种情况,本人以为是windows与unix下socket 资源释放时间有关系。但具体如何解决却一筹莫展(不想改成长连接的方式)。

论坛徽章:
0
2 [报告]
发表于 2002-07-19 14:55 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

你能把UNIX系统的具体返回的错误信息贴出来吗?

论坛徽章:
0
3 [报告]
发表于 2002-07-19 15:54 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

albert 你好,谢谢你看到这个帖子,其实具体的系统资源的错误信息我还不知道如何去查看,只是在客户端程序中对connect执行的错误码进行了判断:
int rc&#59;
rc = pClient->;Connect(m_BillAddr,m_BillPort)&#59;

发现在每秒之行5个socket 请求时大概执行了几百个请求后开始出现rc值为9的情况。

不知道这种情况该如何定位问题所在?

望不吝赐教!!谢谢!!

论坛徽章:
0
4 [报告]
发表于 2002-07-19 16:18 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

你的程序是C写的? 我编程不在行。我可能只能从操作系统级帮你分析一下,你在运行到几百个请求时在HPUX下执行 netstat -a 观察一下是否你需要建立的连接有多少,注意一下它们的状态是什么。

论坛徽章:
0
5 [报告]
发表于 2002-07-22 18:04 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

用netstat -a 发现大概有50个连接(在服务端的监听端口上),这种情况在后来测试发现具体的问题如下:

    当客户端不断与服务端建立连接后又断开时,过一段时间后会出现客户端无法对服务端的应答作反应,即不会再触发receive。

论坛徽章:
0
6 [报告]
发表于 2002-07-22 19:21 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

不好意思,我现在正在干一些我很不愿意干但又没法不干的工作,停不下来,我明天再帮你看吧。

论坛徽章:
0
7 [报告]
发表于 2002-07-23 09:59 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

我觉得是unix 下的文件描述字消耗完了。看看有没有关闭文件描述符。

论坛徽章:
0
8 [报告]
发表于 2002-07-23 12:56 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

关闭操作肯定是做了,但是是否及时关闭就不知道了,因为在我的操作里需要频繁的进行连接、关闭操作。unix 的file descriptor 定义的是多少,能否设大些,又该如何配呢?

论坛徽章:
0
9 [报告]
发表于 2002-07-23 16:09 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

jazy, Have you use any system function in the customized function :      pClient->;Connect(m_BillAddr,m_BillPort)&#59; I think you should check the
meaning of the return error code of the system call.(rc=9)
Sorry, I am afraid I can not help you more about this question owing to
my limited knowledge.

论坛徽章:
0
10 [报告]
发表于 2002-07-23 19:28 |只看该作者

unix 与 windows 有关socket 资源 释放的区别???

这方面的资料也查找过了,但目前此问题还是没有解决,而且问题的出现情况还可以进一步具体到当连续进行了53次短连接(连接后发包完毕,立刻关闭连接)后,从第54次开始就无法收到应答包了。真真觉得很奇怪!!!!

albert ,非常感谢你的帮助!!!

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP