请教个网络编程的问题

jiuchang 2010-10-26 02:26:56
如果一台服务器要接收10万以上的连接,请问用什么方法来检查客户端是否有数据到来
显然不能为每一个连接建立一个线程
只能用非阻塞socket来进行处理,select也是不好使的,据说只能处理256个socket,
我看到书上有讲用poll,可以自定义数量,不知道在10万数量级是效率如何
有没有其它的好方法可用

请做过这方面程序的高手给指点一下,谢谢
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiuchang 2010-11-05
  • 打赏
  • 举报
回复
谢谢大家,正在研究epoll
非兔子_Logic0 2010-10-26
  • 打赏
  • 举报
回复
select已经果断不行了,poll也在新版内核的优化后鸡肋了。

只有epoll可以选择,更大型的没搞过,不好说
Qlaiaqu 2010-10-26
  • 打赏
  • 举报
回复
如果楼主是windows,请用IOCP
如果楼主是Linux,请用Epoll
这两种都是针对处理大并发量的情况的。
justkk 2010-10-26
  • 打赏
  • 举报
回复
select貌似能处理1024个描述符
poll应该可以
但是没做过这么大数量级的,不知道效率如何
考虑一下epoll

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧