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

Is epoll a bad idea for udp client?

本文关键字:udp 客户端 epoll      更新时间:2023-10-16

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

我刚从代码中删除了"监听"部分,它似乎起作用了。但我想知道我可能面临的任何隐藏的问题。

此外,如果客户端正在发送udp数据包,那么使用epoll作为服务器是不是一个坏主意?

如果相应的线程除了接收UDP数据包之外不需要做任何其他事情,那么您也可以在recvfrom上进行阻塞,这将产生完全相同的效果,只需减少一个系统调用和更少的代码复杂性。

另一方面,如果你需要定期做其他事情,或者有一些不应该取决于数据包是否到达网络的及时限制,那么最好还是使用epoll,即使这看起来有些过头了
epoll的最大优点是,除了效率合理之外,它还舒适且可扩展(您可以插入signalfd、timerfd或eventfd以及许多其他东西)。