Как реализовать многоадресную передачу udp клиент-сервер в одной программе? - PullRequest
1 голос
/ 18 мая 2011

Я написал сервер и клиент как отдельные приложения.Они общаются через UDP Multicast (потому что мне нужно, чтобы каждый, кто присоединяется к группе, мог читать и писать сообщения).Теперь у меня есть два окна, но моя цель - создать одну простую программу чата, но я не знаю, как слушать и отправлять одновременно.Нужно ли создавать 2 розетки?Или я могу использовать только один?Я даже пытался объединить оба приложения в одном, но мне это не удалось (я знаю, я знаю ... но я был немного отчаянным).не удалось.

Я использую c ++.

1 Ответ

1 голос
/ 19 мая 2011

Вы можете использовать один или два сокета, все зависит от того, хотите ли вы привязаться к определенному сетевому адаптеру и хотите ли вы использовать одноадресные и широковещательные пакеты.Часто проще управлять одним для отправки и другим для получения.

Чтобы прослушивать отправленные многоадресные пакеты на одном и том же хосте, отметьте опцию сокета IP_MULTICAST_LOOP, отметив, что в Windows она по-разному применяется к Unix.

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