отправка пакетов на множество хостов под одним и тем же маршрутизатором с использованием Java - PullRequest
0 голосов
/ 12 июня 2019

мы - группа детей в средней школе, пытающаяся реализовать программу на Java, которая будет похожа на сервер чата в сети, у нас есть один сервер вне сети и каждый клиент в сети школы, которую мы хотимзнать, как мы можем отправить 1 пакет с сервера каждому клиенту в сети, потому что за этим маршрутизатором находится много компьютеров (клиентов).

1 Ответ

0 голосов
/ 12 июня 2019

у вас есть возможность буксировки здесь:

  1. радиовещание
  2. мультикастинг

Я предпочитаю multicast, потому что он более эффективен и не мешает всем компьютерам в сети.


Как это работает?

Многоадресная передача - это возможность передавать сообщение группе слушателей за одну передачу.

Хорошей аналогией многоадресной передачи является радио. Тысячи людей могут настроиться на одно событие трансляции и слушать одно и то же сообщение. Компьютеры могут выполнять аналогичные действия при отправке сообщений слушателям.

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

Язык Java обеспечивает функцию многоадресной рассылки посредством обмена сообщениями дейтаграмм. Датаграммы - это независимые, негарантированные сообщения, которые могут быть доставлены клиентам по сети. (Отсутствие гарантии означает, что время прибытия, время прибытия и контент непредсказуемы.) сообщения, отправленные по TCP, отправка дейтаграммы является неблокирующим событием, и отправитель не уведомляется о получение сообщения.

дейтаграммы отправляются с использованием протокола пользовательских дейтаграмм (UDP), а не TCP. Возможность отправлять многоадресные сообщения через UDP является одним из преимуществ по сравнению с TCP, если упорядочение, надежность и целостность данных сообщения не является критически важной.

проверьте 1 2 3 для получения дополнительной информации по теме

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