Я создаю многопользовательскую игру, и я хотел бы, чтобы связь между моей серверной программой (написанной на python) и клиентами (написанной на С# - Unity) происходила через сокеты UDP.
Недавно я столкнулся с концепцией многоадресной рассылки UDP, и похоже, что она может быть намного лучше для моего варианта использования, чем использование одноадресной рассылки UDP, потому что моему серверу необходимо обновлять всех клиентов (игроков) одним и тем же контентом каждый интервал. Таким образом, вместо того, чтобы отправлять несколько одинаковых пакетов всем клиентам с помощью одноадресной рассылки UDP, я хотел бы иметь возможность отправлять только один пакет всем клиентам с использованием многоадресной рассылки, что звучит намного эффективнее.
Я новичок в многоадресной рассылке, и мои вопросы:
Как я могу заставить свой сервер выполнять многоадресную рассылку клиентам через Интернет?
Нужно ли, чтобы мой сервер имел специальный общедоступный многоадресный IP-адрес? Если да, то как мне его получить?
Возможно ли вообще многоадресное вещание через Интернет? или многоадресная рассылка доступна только внутри моей локальной сети?
И каковы плюсы и минусы многоадресного подхода?
Всем заранее спасибо за помощь!!
Единственный способ многоадресной рассылки через общедоступный Интернет — использовать туннель к удаленному сайту. Многоадресная маршрутизация сильно отличается от одноадресной маршрутизации, и все маршрутизаторы на пути многоадресных пакетов должны быть настроены на один и тот же протокол многоадресной маршрутизации, поэтому он не будет работать в Интернете. Инкапсуляция многоадресного трафика в одноадресный туннель будет работать, если маршрутизаторы на обоих концах туннеля настроены на маршрутизацию многоадресного трафика.
Вы не можете использовать многоадресную рассылку в Интернете. Полная остановка.
По сути, многоадресная рассылка предназначена для работы только тогда, когда есть кто-то, отвечающий за всю сеть, которая ее настроит. Как вы заметили, этому человеку необходимо, например, назначить многоадресные IP-адреса.
Мультикаст не будет работать за пределами вашей собственной сети. Вы не можете транслировать на весь Интернет по понятным причинам.