服务端listen的问题?

yym314 2005-01-06 01:43:18
一个繁忙的服务器,不断的有用户连接和断开.我创建一个socket,启动了一个线程在这个socket上进行listen,并且把listen的第二个参数设置为100.这样基本上是能满足要求的.
但是我也看到过另外一种方法,他也是创建一个线程进专门负责侦听.但是他是同时创建多个(比如10个)socket,对于每一个socket调用listen( fd, 10 )在同一端口上进行侦听.
我想问的是第二中方法可行吗?如果可行的话,这两中方法那一种更加好一些,也就是哪一种发放用户容易连上来?
...全文
152 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengwujun 2005-01-07
  • 打赏
  • 举报
回复
mark
leaber 2005-01-07
  • 打赏
  • 举报
回复
最大是5
HunterForPig 2005-01-06
  • 打赏
  • 举报
回复
同意 oyljerry
用第一种
sharkhuang 2005-01-06
  • 打赏
  • 举报
回复
一般是linsten成功以后开一个线程处理。
oyljerry 2005-01-06
  • 打赏
  • 举报
回复
第一种,listen 100并不是能同时接收100个连接,os内核是有个队列的,一般为5
zhaolaoxin 2005-01-06
  • 打赏
  • 举报
回复
gz
scmsir 2005-01-06
  • 打赏
  • 举报
回复
我都是用第一种,但是听说第二中也可以,不过没有用过。
我觉得关键并不是用户是否容易连上来,而是你处理的速度,如果你处理得快第一种就足够了。如果处理得慢,第二中即使100个客户都可以同时连上来,但是还是在等待你accept。
jun_01 2005-01-06
  • 打赏
  • 举报
回复
不会,学习
kingzai 2005-01-06
  • 打赏
  • 举报
回复
http://search.csdn.net/Expert/topic/861/861021.xml?temp=8.486575E-02

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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