Как вы настраиваете сокет в игровом приложении? Можете ли вы опубликовать пример кода установки сокета?
Используете ли вы подстановочный адрес и порт при создании сокета? Я предполагаю, что если ваше игровое приложение не привязано к определенному IP-адресу и порту явно, это может быть источником вашей проблемы.
Другой вопрос: вы пытаетесь определить локальный IP-адрес, удаленный IP-адрес или оба?
Если вы пытаетесь определить удаленный IP-адрес, это может быть невозможно, если игровое приложение не использует так называемые подключенные UDP-сокеты . Именно здесь клиентское приложение вызывает соединение через сокет UDP, чтобы создать связь между локальным и удаленным сокетами в базовой ОС. Это имеет определенные преимущества и недостатки, перечисленные в приведенной выше ссылке.
Редактировать
Взгляните на этот пост: PID из номера сокета в Windows?
Это в значительной степени подтверждает то, что я думал - если игра не использует подключенные UDP-сокеты, то единственный способ получить удаленный адрес - через перехват пакетов.
Запустите игру и запустите netstat -ap UDP
- если вы видите, что в списке нет удаленных адресов, это подтвердит вышеуказанное подозрение.