Два (или более) клиентских подключения сокетов на одной машине - PullRequest
1 голос
/ 02 мая 2011

У меня есть простые клиентские и серверные программы node.js, работающие на одной машине, и когда я пытаюсь подключиться к серверу одновременно со вторым экземпляром клиентской программы, я получаю ошибку EADDRINUSE, Address already in use. Возможно ли иметь два или более клиентских сокет-соединения на основе TCP (созданных с помощью createConnection ) к одному серверу (созданных с помощью createServer ) на одном компьютере, или может быть только одна клиентская программа подключен к серверу одновременно?

1 Ответ

3 голосов
/ 02 мая 2011

Да, это возможно. Infact, очень распространено. Многие приложения открывают десятки или сотни подключений к одному серверу. Похоже, ваша клиентская программа привязана к порту. Только сервер должен быть привязан к порту. Вы должны проверить.

Клиент обычно использует случайный порт в диапазоне 1024-65535, назначенный вашей ОС. Вам не нужно беспокоиться об этом. Поскольку клиент инициирует соединение с сервером, порт сервера должен быть уникальным для одной программы. Вот почему ваша проблема означает, что вы пытаетесь запустить сервер дважды. Пожалуйста, смотрите http://www.tcpipguide.com/free/t_TCPIPClientEphemeralPortsandClientServerApplicatio.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...