Как я могу настроить свой сервер для многоадресной рассылки UDP клиентам через Интернет? Нужен ли мне специальный многоадресный IP-адрес?

Я создаю многопользовательскую игру, и я хотел бы, чтобы связь между моей серверной программой (написанной на python) и клиентами (написанной на С# - Unity) происходила через сокеты UDP.

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

Я новичок в многоадресной рассылке, и мои вопросы:

Как я могу заставить свой сервер выполнять многоадресную рассылку клиентам через Интернет?

Нужно ли, чтобы мой сервер имел специальный общедоступный многоадресный IP-адрес? Если да, то как мне его получить?

Возможно ли вообще многоадресное вещание через Интернет? или многоадресная рассылка доступна только внутри моей локальной сети?

И каковы плюсы и минусы многоадресного подхода?

Всем заранее спасибо за помощь!!

Мультикаст не будет работать за пределами вашей собственной сети. Вы не можете транслировать на весь Интернет по понятным причинам.

Klaus D. 10.12.2020 07:14

Единственный способ многоадресной рассылки через общедоступный Интернет — использовать туннель к удаленному сайту. Многоадресная маршрутизация сильно отличается от одноадресной маршрутизации, и все маршрутизаторы на пути многоадресных пакетов должны быть настроены на один и тот же протокол многоадресной маршрутизации, поэтому он не будет работать в Интернете. Инкапсуляция многоадресного трафика в одноадресный туннель будет работать, если маршрутизаторы на обоих концах туннеля настроены на маршрутизацию многоадресного трафика.

Ron Maupin 11.12.2020 03:13
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
2
367
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете использовать многоадресную рассылку в Интернете. Полная остановка.

По сути, многоадресная рассылка предназначена для работы только тогда, когда есть кто-то, отвечающий за всю сеть, которая ее настроит. Как вы заметили, этому человеку необходимо, например, назначить многоадресные IP-адреса.

Другие вопросы по теме