【发布时间】:2011-05-01 16:32:31
【问题描述】:
我正在设计一个需要支持数千个 UDP 连接(大约 100,000 个会话)的新服务器。对使用哪一个有任何意见或建议?
【问题讨论】:
-
你在哪个操作系统上?不同的操作系统有不同的具体。
-
Linux Redhat 企业版 5
-
@ravi:您还应该检查基于事件(异步)的框架,例如 Twisted,您可以在其中编写服务器并使用各种轮询方法对其进行测试:TwistedMatrix.com : Choosing a Reactor
-
Zed Shaw 对 epoll 与 poll 进行了出色的分析:sheddingbikes.com/posts/1280829388.html tl;dr:如果您的活动 fd 比例很大,则 Poll 很好。如果您有大量不活动的 fd,epoll 会更好。非活动 fd 的一个很好的例子是 WebSockets 和 Cometd 之类的东西,客户端将打开一个连接并等待很长时间,然后才能以任何一种方式传输任何内容。
-
我找到了一个很好的网页来表明它们之间的区别:ulduzsoft.com/2014/01/…希望可以帮助
标签: linux sockets epoll posix-select