Откройте сокет за нат на Java

У меня есть серверный сокет на устройстве Android за NAT, и я хочу подключиться к этому сокету с другого устройства. Я знаю, как этого добиться, используя пробивание отверстий, но у меня есть некоторые проблемы с этим. Он отлично работает с моим оператором мобильной связи, но у меня есть проблемы с другими операторами. Общая проблема заключается в том, что разные операторы мобильной связи имеют разные типы NAT. У кого-нибудь есть такая же проблема? Каковы решения? схема перфорации

1 ответ

Решение

У всех нас есть такая проблема при реализации функций "push to mobile". Попытка обойти межсетевой экран /nat - пустая трата времени, это решение (как вы видели) очень зависит от оператора.

Распространенным решением является использование "поддельного" push-решения, такого как опрос длинных сокетов.

Я рекомендую "websocket" с использованием Jetty для простоты. Это дает возможность получить "похожие" возможности обычного сокета без недостатков.

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