【发布时间】:2014-11-12 12:39:02
【问题描述】:
好的,所以我需要我的 C++ 应用程序来建立对等 UDP 连接。我考虑过打孔和 UPNP(使用端口映射)。打孔似乎有点乱:你需要服务器,大量垃圾 UDP 数据包。我真的不想弄乱服务器,所以我选择了 UPNP。我已经建立了 miniupnpc http://miniupnp.free.fr/ 库,并在家里愉快地使用它。但是当我在另一个网络中尝试我的应用程序时,我得到了非常令人沮丧的结果:
- 只有 1 个(我的)路由器可以满足我的所有需求(本地和外部 ip、端口映射)
- 3 个路由器只显示本地 ip,也许(我没有测试过)做端口映射
- 1个路由器支持upnp,但是miniupnpc找不到设备
- 1个路由器不支持upnp(用upnp开发者工具测试)
所以,我有两个问题:
- UPNP 不是很常见,还是我运气不好,或者使用 miniupnpc 错误?
- 有没有其他方法可以建立点对点UDP连接,不需要外部服务器?(所以不打孔)
谢谢!
【问题讨论】:
标签: c++ c networking upnp