Помогите с выбором? - PullRequest
       24

Помогите с выбором?

0 голосов
/ 04 апреля 2011

Итак, я пытаюсь создать сервер, который прослушивает несколько портов.У меня возникают проблемы с выбором головы.

Может ли кто-нибудь дать мне немного псевдокода для порядка, в котором я делаю вещи и почему.в разные порты.Конечно.Но тогда я могу просто вызвать прослушивание на обоих портах?

На моем клиенте (ах) я просто вызываю соединение, и слушающий заметит попытку соединения?Как я могу принять это?

Извините за вопросы новичка.Я пробовал руководство по beejs и несколько других, но они не очень хорошо охватывают несколько портов (похоже, все они используют один и тот же пример).

Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 апреля 2011

Клиентская сторона: вам нужно только позвонить на соединение.

На стороне сервера шаги более или менее следующие:

  1. создать сокет
  2. Свяжите сокет
  3. Начать слушать
  4. Добавить файловый дескриптор прослушивающего сокета в select
  5. Когда возвращаемое значение возвращается в прослушивающий сокет, затем вызывается функция accept для него. Он вернет другой файловый дескриптор (не забудьте добавить этот новый файловый дескриптор в список FD, для которого выбор должен вернуться через FD_SET)
0 голосов
/ 04 апреля 2011

После вызова bind и listen на сервере, fd для сокета - это просто еще один fd, который вы можете использовать с вызовом select. Когда select возвращает и указывает данные на этом fd, вы можете вызвать accept на fd, чтобы начать получать данные.

Редактировать: Кроме того, fd, который вы получаете, когда вы accept подключаетесь, является другим fd, который можно передать на вызов select.

...