Tcp NAT端口转发的最佳选项是什么? 我想让用户在他们的NAT上把一个端口转发到本地机器上,以方便我的C++应用程序。我想在OSX和Windows上实现这一点。Linux将是一个巨大的奖励,但Linux用户可能更习惯于手动转发端口,因此不太需要担心。LGPL类型代码是可以的,但我不能使用任何直接的GPL

Tcp NAT端口转发的最佳选项是什么? 我想让用户在他们的NAT上把一个端口转发到本地机器上,以方便我的C++应用程序。我想在OSX和Windows上实现这一点。Linux将是一个巨大的奖励,但Linux用户可能更习惯于手动转发端口,因此不太需要担心。LGPL类型代码是可以的,但我不能使用任何直接的GPL,tcp,bonjour,nat,upnp,portforwarding,Tcp,Bonjour,Nat,Upnp,Portforwarding,我很想听听任何人在这方面的想法或经历,但我想到了几个具体问题: 是否有公认的最佳UPNP库?客户看起来可能有用,但还有其他的吗 那怎么办?OSX计算机可以依赖它吗 所有的大bittorrent应用程序都必须处理这个问题,那么有没有一个现有的关于它们是如何做到这一点的调查?Skype呢 至少有一个bittorrent客户端(传输)使用MiniUPNP,应该可以正常工作。OS X和Windows上的Bonjour可用于与支持uPNP或NAT-PMP的路由器进行端口映射。我没有使用,但我已经成功地在

我很想听听任何人在这方面的想法或经历,但我想到了几个具体问题:

  • 是否有公认的最佳UPNP库?客户看起来可能有用,但还有其他的吗
  • 那怎么办?OSX计算机可以依赖它吗
  • 所有的大bittorrent应用程序都必须处理这个问题,那么有没有一个现有的关于它们是如何做到这一点的调查?Skype呢
至少有一个bittorrent客户端(传输)使用MiniUPNP,应该可以正常工作。

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

Skype不需要在本机模式下转发端口-它使用一个中继(与许多IMs一样):因此来自客户端的连接是传出的。您可以在这里提供源吗?用于iOS中的端口映射。我试过使用MiniUPNP,但运气不好。