Создание локального сервера, видимого через брандмауэры - PullRequest
1 голос
/ 28 августа 2010

У меня есть локальный сервер, написанный на C ++, который прослушивает входящие TCP-соединения с использованием обычного socket :: accept () и UDP recvfrom ().У меня есть две проблемы с этим, которые я хочу решить:

  • Могу ли я программно заставить Windows разрешить мне открыть приемный сокет без автоматической блокировки брандмауэром Windows (софта) Windows?
  • Могут ли использоваться какие-либо порты, которые позволят моим пакетам проходить через брандмауэр Windows и внешний брандмауэр?Порт 80 часто используется такими вещами, как Skype , но есть ли другие?Позволит ли большинство внешних брандмауэров по умолчанию разрешать входящие соединения UDP и TCP через порт 80?

Спасибо!

Ответы [ 2 ]

1 голос
/ 29 августа 2010

Возможно, вы захотите взглянуть на что-то более подходящее для окружения рабочего стола, например такие методы обхода NAT, как libjingle , STUN или наложенную сеть, такую ​​как XMPP.

1 голос
/ 29 августа 2010

Как правило, сетевым маршрутизаторам необходимо включить Port Forwardng для порта прослушивания, а брандмауэрам нужно открыть порт прослушивания.Если вы используете брандмауэр / маршрутизатор с поддержкой uPNP, то вы можете динамически настроить эти параметры программно через API uPNP.Но чаще всего uPNP либо отключается, либо недоступен, что требует ручной настройки от администратора firewll / router.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...