免费注册 查看新帖 |

Chinaunix

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

求教?多线程C/S程序,问题??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-18 14:12 |只看该作者 |倒序浏览
如果客户端以每秒1500条的数量向服务程序发送请求,那么客户端再处理到7百多条请求的时候就会报“Cannot assign requested address”错误。等一会后自动恢复发送,再过7百多条又会重复报错,问一下原因?
服务程序,如果客户端请求量较大,就会产生僵尸线程,但很快就会释放掉,服务端采用来一个请求产生一个分离线程,我认为分离线程是不会产生僵尸线程的。请教一下为什么会这样?

论坛徽章:
0
2 [报告]
发表于 2008-09-18 14:15 |只看该作者
问题太笼统了。。

论坛徽章:
0
3 [报告]
发表于 2008-09-18 14:17 |只看该作者
原帖由 cugb_cat 于 2008-9-18 14:15 发表
问题太笼统了。。

笼统???我那个地方没有说清楚啊? 

论坛徽章:
0
4 [报告]
发表于 2008-09-18 14:18 |只看该作者
原帖由 minibaba11 于 2008-9-18 14:17 发表

笼统???我那个地方没有说清楚啊? 

你还是单步调试吧,很多地方容易出问题啊,你这个现象可能有很多种原因的。。

论坛徽章:
0
5 [报告]
发表于 2008-09-18 14:20 |只看该作者
原帖由 cugb_cat 于 2008-9-18 14:18 发表

你还是单步调试吧,很多地方容易出问题啊,你这个现象可能有很多种原因的。。



单步测试????多线程是不能单不测试的,你说有哪些地方容易出问题啊? 希望能得到有实质的回答。不知我是否说清楚了问题?

[ 本帖最后由 minibaba11 于 2008-9-18 14:24 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-09-18 14:50 |只看该作者
第一:用锁超过多少进程就直接返回client服务器忙.
第二:升级硬件

论坛徽章:
0
7 [报告]
发表于 2008-09-18 15:42 |只看该作者
Cannot assign requested address基本2种情况会出现此提示
1.请求的服务器端口为空
2.内核为连接分配不到缓冲区
你这种情况应该是第二种了

论坛徽章:
0
8 [报告]
发表于 2008-09-18 15:47 |只看该作者
是不是lz的服务器程序产生了太多的线程,内存不够了?

论坛徽章:
0
9 [报告]
发表于 2008-09-18 15:51 |只看该作者
原帖由 5毛党党员 于 2008-9-18 15:47 发表
是不是lz的服务器程序产生了太多的线程,内存不够了?

我觉得基本如此了,多线程,还是要根据业务和硬件配置限制进程数的,否则你的程序要down掉的,如果业务实在多,那就要考虑升级硬件.

论坛徽章:
0
10 [报告]
发表于 2008-09-18 15:57 |只看该作者
lz可以考虑做一个list
然后起固定数量的worker线程,不停的从list拿走报文处理

当然这种做法可能会造成处理的延迟
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP