Подтвердить что ты не робот

Выберите vs poll vs epoll

Я разрабатываю новый сервер, который должен поддерживать тысячи UDP-соединений (где-то около 100 000 сеансов). Любой ввод или предложения, по которым можно использовать?

4b9b3361

Ответ 2

Ответ: epoll, если вы используете Linux, kqueue, если вы используете FreeBSD или Mac OS X, и порты завершения ввода/вывода, если вы находитесь в Windows.

Некоторые дополнительные вещи, которые вы (почти наверняка) хотите исследовать, следующие:

  • Методы балансировки нагрузки
  • Многопоточная сеть
  • Архитектура базы данных
  • Идеальные хеш-таблицы

Кроме того, важно отметить, что UDP не имеет "соединений", а не TCP. Было бы также в ваших интересах начать небольшие и масштабные масштабы, поскольку отладка сетевых решений может быть сложной задачей.

Ответ 3

Linux: epoll FreeBSD: kqueue Windows:??

Существуют библиотеки-обертки, такие как libevent и libev, которые могут абстрагировать это для вас.