NAT端口转发的最佳选择是什么?

时间:2020-03-06 15:02:25  来源:igfitidea点击:

我想让用户轻松将NAT上的端口转发到我的C ++应用程序的本地计算机。我想在OSX和Windows上进行这项工作。 Linux将是一个巨大的好处,但是Linux用户可能更愿意手动转发端口,因此不必担心。 LGPL类型代码还可以,但是我不能使用任何直接的GPL。

我很想听听任何人在该领域的想法或者经验,但是我想到了一些具体问题:

  • 是否有公认的UPNP最佳库? MiniUPNP客户端看起来可能可以工作,但是还有其他功能吗?
  • 卓悦呢OSX计算机可以依靠它吗?
  • 所有大型bittorrent应用程序都必须处理此问题,因此是否存在有关其工作方式的现有调查?那么Skype呢?

解决方案

MiniUPNP至少由一个bittorrent客户端(传输)使用,并且应该可以正常工作。

OS X和Windows上的Bonjour均可用于与支持uPNP或者NAT-PMP的路由器进行端口映射。我没有使用过API(DNSServiceNATPortMappingCreate),但是我已经在Windows和OS X上成功发布了NAT-PMP路由器后面的广域服务。我不确定Windows用户是否要安装Bonjour(尽管如果使用iTunes或者Safari的用户可能已经安装了Bonjour)来使用应用程序,但是OS X支持并不成问题。