Я видел несколько рецензий, сравнивающих select()
с poll()
или epoll()
, и я видел много руководств, обсуждающих фактическое использование select()
с несколькими сокетами.
Однако то, что я не могу найти, - это сравнение с неблокирующим вызовом recv()
без select()
. В случае наличия только 1 сокета для чтения и 1 сокета для записи, существует ли какое-либо обоснование для использования вызова select()
? Метод recv()
может быть настроен так, чтобы не блокировать и не возвращать ошибку (WSAEWOULDBLOCK
), когда нет доступных данных, так зачем беспокоиться о вызове select()
, когда у вас нет других сокетов для проверки? Является ли неблокирующий вызов recv()
намного медленнее?