Вам нужны дополнительные розетки для трехсторонней связи? - PullRequest
1 голос
/ 03 апреля 2011

У меня соединение клиент / сервер по TCP с использованием send() и recv(). Это работает в полном дуплексе просто отлично. Однако, если я хочу, чтобы третье лицо могло присоединиться к середине сеанса и общаться по этой линии, как это будет достигнуто? Нужна ли еще одна розетка?

Ответы [ 3 ]

1 голос
/ 03 апреля 2011

Если вы не ограничены TCP, IP multicast и другие протоколы, расположенные поверх него, могут быть опцией в зависимости от вашего приложения.

1 голос
/ 03 апреля 2011

Да, вам нужен второй разъем. TCP-сокет ориентирован на соединение, поэтому он полезен только для управления одним соединением между двумя хостами.

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

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

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

...