Как остановить маршрутизаторы, блокирующие трафик внутри сети? - PullRequest
1 голос
/ 22 января 2010

У меня есть приложение для iPhone, которое использует подключение по локальной сети к серверу, работающему на Mac / PC пользователя.

На сервере запущена служба http на порту 8080

Я уже добавил исключения для брандмауэра Windows по умолчанию или брандмауэра Mac по умолчанию, чтобы обеспечить трафик для моего приложения.

Однако наиболее распространенная проблема клиента заключается в том, что iPhone не может связаться с сервером.

Обычно это сетевой маршрутизатор, блокирующий трафик, хотя иногда пользователь запускает собственный брандмауэр, который блокирует трафик.

Существует ли протокол, который позволит мне что-то сказать по поводу

'Будут ли все брандмауэры в этой сети, пожалуйста, разрешите связь с <an ip> on <a port>, если трафик исходит из этой сети?'

Я изучил upnp - но, похоже, он сосредоточен на открытии порта для внешнего мира, что я не хочу делать.

предложения?

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 22 января 2010

Как правило, порты более высокого уровня (свыше 8000 или 16000) не блокируются и не защищены брандмауэром. Я бы серьезно подумал о выделении случайного порта в этом диапазоне.

Также рассмотрите возможность рекламировать свою услугу с Bonjour. Использование Bonjour имеет приятный побочный эффект: приложение iPhone не должно знать номер порта. Он может просто просматривать сеть на наличие доступных серверов. Если есть только один, подключитесь к нему, в противном случае предоставьте пользователю список для выбора.

0 голосов
/ 22 января 2010

Есть ли способ запустить сервер на порт 80? Вы можете столкнуться с меньшим количеством проблем на стандартном порту.

0 голосов
/ 22 января 2010

Нет, кроме UPnP нет такого способа или протокола. И я бы не стал его рекомендовать, потому что в сетях компании это могло бы вызвать всевозможные проблемы и проблемы безопасности, если бы это было возможно.

Я бы посоветовал вам создать раздел часто задаваемых вопросов или раздел по установке программного обеспечения, в котором вы описываете эту распространенную проблему и сообщаете клиентам, как они могут обнаружить и решить эту проблему.

...