Мой друг сделал небольшую игру, в которую можно играть по локальной сети, и попросил меня изменить ее, чтобы в нее можно было играть через Интернет. Я не хочу вносить огромные изменения в клиентское приложение.
Когда игра создается, сервер продолжает отправлять пакеты UDP BROADCAST, чтобы сообщить всем, что игра была создана. Теперь мне просто нужно изменить этот BROADCAST, чтобы отправить эти пакеты на группу интернет-IP-адресов.
Можете ли вы сказать мне, является ли следующее решение хорошим: я бы создал комнатный сервер, давайте назовем его «room-broadcast-server», который содержит IP-адреса всех, кто присоединился к комнате. Затем клиенты, вместо отправки этого пакета BROADCAST, будут отправлять пакет на сервер room-broadcast-server, который будет транслировать этот пакет всем, кто присоединится к комнате.
Проблема в том, что клиенты будут получать эти пакеты от «комнатного-широковещательного-сервера» и будут пытаться установить связь с комнатной-широковещательным-сервером вместо связи с машиной, которая создала игру. Хотелось бы обмануть клиентов, чтобы они думали, что пакет пришел с игрового сервера, а не с рум-трансляции-сервера. Как я могу это сделать?