Как формируется ячеистая сеть TCP

Я хочу создать ячеистую сеть с 3 узлами, например:

B connected to A. 
B connected to C.
A connected to C. 

Это мое понимание:

  1. Чтобы B мог подключиться к A, у A будет TCP-сервер, прослушивающий порт 8080.

  2. B имеет TCP-клиент, который будет подключаться к A на 8080.

  3. Как теперь А установить соединение с С? Если C прослушивает соединения на 8080.

Должен ли каждый узел запускать как TCP-сервер, так и несколько TCP-клиентов для формирования сетки?


person Praveen    schedule 08.12.2017    source источник
comment
И A, и C нуждаются в прослушивающих сокетах. Б нет.   -  person user207421    schedule 08.12.2017
comment
TCP не имеет клиентов или серверов. TCP создает соединения ровно между двумя одноранговыми узлами. Концепция клиент/сервер является концепцией приложения.   -  person Ron Maupin    schedule 08.12.2017


Ответы (1)


Не существует стандартного термина TCP-сервер и TCP-клиент, как уже упоминалось в разделе комментариев к этому вопросу. В целях надежности обычно мы используем протокол TCP в качестве протокола связи.

Основное различие между TCP и UDP заключается в том, что первый является протоколом связи, ориентированным на соединение, тогда как второй не ориентирован на соединение.

ПРИМЕЧАНИЕ. Я собираюсь ответить на этот вопрос, не имея опыта работы с `node.js`.

Чтобы B мог подключиться к A, у A будет TCP-сервер, прослушивающий порт 8080.

Если вы собираетесь использовать протокол, ориентированный на соединение, A должен запустить приложение сокета, которое действует как сервер, принимающий запросы на соединение через порт 8080. B отправит запрос на соединение на сервер A.

B имеет TCP-клиент, который будет подключаться к A на 8080.

Точно так же B должен иметь сокет-приложение (на стороне клиента), которое отправит A запрос на связь через порт сервера A, т. е. 8080 в данном случае.

Теперь, как A устанавливает соединение с C. Если C прослушивает соединения на 8080.

Опять же, учитывая протокол, ориентированный на соединение, A может отчетливо действовать как отдельный клиент (используя то же или другое приложение), который будет отправлять запрос на соединение в C. порт 8080, чтобы А мог отправить запрос на подключение.

person Am_I_Helpful    schedule 11.12.2017