epoll对于udp客户端来说是个坏主意吗?

时间:2011-06-16 07:27:44

标签: c++ udp epoll

我使用epoll创建了一个linux服务器。我意识到客户端将使用udp数据包......

我刚刚删除了代码中的“监听”部分,看起来很有效。但我想知道我可能遇到的任何隐藏的问题或问题。

此外,如果客户端正在发送udp数据包,这对于服务器使用epoll是一个坏主意吗?

1 个答案:

答案 0 :(得分:1)

如果相应的线程不需要做任何其他事情而是接收UDP数据包,你也可以阻止recvfrom,这将是一个更少的系统调用和更少的代码复杂性完全相同的效果。

另一方面,如果你需要定期做其他事情或者有一些及时的约束,这些约束不应该取决于数据包是否到达线路,最好还是使用epoll,即使它看起来有点过分。
epoll的一大优势是,除了合理有效之外,它还具有舒适性和可扩展性(您可以插入signalfd,timerfd或eventfd以及许多其他内容)。