Поэтому я сделал простую игру, в которой два игрока могут соединиться, чтобы играть вместе - один из них выбирает серверный вариант (а затем игра начинает прослушивать входящие TCP-синхронизации), а другой вводит IP-адрес игрока-сервера, чтобы установить соединение, и Обмен данными геймплея через сокет TCP.
Обычные вещи.
Но игроки могут подключиться, только если их компьютеры находятся в одной локальной сети, и клиент вводит частный IP-адрес сервера.
Поэтому я предполагаю, что если игроки находятся в разных локальных сетях, сервер должен иметь порт для пересылки игрового порта (55555), и тогда любой клиент может подключиться, введя общедоступный IP-адрес.
Верно ли это (в настоящее время у меня нет средств для его тестирования) и каковы общие способы избежать переадресации портов, потому что большинство пользователей не знают, как это сделать.
Или два приложения не могут подключиться по глобальной сети, если одна из сторон не настроит переадресацию портов?