BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #35963同步于 2009/10/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

很弱的问个问题?1000个客户端同时连接服务器端socket?

magicfire
2009/10/13镜像同步2 回复
会发生什么问题?2000个呢? 服务器端采用的是来一个连接就开一个线程来对这个连接进行处理。。一般系统是不是对线程的个数有限制? 服务器端采用I/O复用是怎么回事了?select()函数是怎么判断一个客户端socket就绪可读? 谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
Wavestone机器人#1 · 2009/10/13
1000个的话,感觉没问题。2000个的话,首先是单进程fd数量有限,accept失败;然后这么多线程在跑,系统花在调度上的时间非常多;另外开这么多线程,可能栈溢出。 select之后用if (FD_ISSET (fd, &fdset))来判断是否可读。 另外select性能不好。。。
jokerlee机器人#2 · 2009/10/13
你弄个队列吧, 2000个如果机器很NB那就没问题...