Является ли epoll плохой идеей для клиента udp? - PullRequest
1 голос
/ 16 июня 2011

Я создал сервер Linux с помощью epoll. И я понял, что клиенты будут использовать пакеты udp ...

Я просто удалил часть "listen" из моего кода, и это похоже на работу. Но мне было интересно, какие скрытые проблемы или проблемы могут возникнуть у меня.

Кроме того, это плохая идея использовать epoll для сервера, если клиенты отправляют пакеты udp?

1 Ответ

1 голос
/ 16 июня 2011

Если соответствующему потоку не нужно ничего делать, кроме как принимать UDP-пакеты, вы также можете просто заблокировать recvfrom, это будет точно такой же эффект с меньшим количеством системных вызовов и меньшей сложностью кода.

С другой стороны, если вам нужно периодически делать другие вещи или с некоторыми своевременными ограничениями, которые не должны зависеть от того, поступают ли пакеты по проводам, лучше использовать epoll в любом случае, даже если это кажется излишним.
БольшойПреимущество epoll заключается в том, что помимо того, что он достаточно эффективен, он удобен и расширяем (вы можете подключить signalfd, timerfd или eventfd и многие другие).

...