Каковы наилучшие варианты для переадресации портов NAT? - PullRequest
7 голосов
/ 02 октября 2008

Я бы хотел, чтобы пользователи могли легко перенаправлять порт своего NAT на свою локальную машину для моего приложения C ++. Я бы хотел, чтобы это работало на OSX и Windows. Linux был бы отличным бонусом, но пользователям Linux, вероятно, удобнее перенаправлять порты вручную, поэтому это не представляет особой проблемы. Код типа LGPL в порядке, но я не могу использовать ничего, что прямо GPL.

Я хотел бы услышать любые мысли или опыт, которые кто-либо имел в этой области, но на ум приходит несколько конкретных вопросов:

  • Есть ли признанная лучшая библиотека для UPNP? Клиент MiniUPNP выглядит так, как будто он может работать, но есть ли что-нибудь еще?
  • А как насчет Bonjour ? Могу ли я рассчитывать на это для компьютеров OSX?
  • Все большие битторрентные приложения должны иметь дело с этим, так есть ли уже существующий опрос о том, как они это делают? Что о Skype?

Ответы [ 2 ]

2 голосов
/ 02 октября 2008

MiniUPNP используется как минимум одним битторрент-клиентом (передача) и должен нормально работать.

0 голосов
/ 10 мая 2009

Bonjour на OS X и Windows может использоваться для сопоставления портов с маршрутизаторами, которые поддерживают uPNP или NAT-PMP. Я не использовал API (DNSServiceNATPortMappingCreate) , но я успешно опубликовал глобальные службы в Windows и OS X за маршрутизатором NAT-PMP. Я не уверен, что ваши пользователи Windows захотят установить Bonjour (хотя они могут уже иметь его, если они используют iTunes или Safari) для использования вашего приложения, но поддержка OS X не должна быть проблемой.

...