7

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

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

  • 是否有公认的 UPNP 最佳库?MiniUPNP客户端看起来可以工作,但还有其他东西吗?
  • 卓悦呢?我可以将它用于 OSX 计算机吗?
  • 所有大型的 bittorrent 应用程序都必须处理这个问题,那么是否有关于他们如何做到这一点的现有调查?Skype 呢?
4

2 回答 2

2

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

于 2008-10-02T18:01:51.407 回答
0

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

于 2009-05-10T04:34:58.180 回答