首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ENet进行NAT孔冲裁

用ENet进行NAT孔冲裁
EN

Stack Overflow用户
提问于 2014-07-08 14:46:37
回答 2查看 2.2K关注 0票数 2

我一直在寻找一个简单的UDP C++库,它提供了一段时间的可靠性。我刚刚遇到了ENet,它看起来很完美,只是我在文档中找不到对NAT孔穿孔的任何支持。互联网上似乎有几个人在讨论这个问题,但我还没有找到一个确切的答案来说明这是否可能。

我已经有一个第三方服务器,它被配置为向客户端发送外部ips &端口。

如果可能的话,有人能给出一些伪代码/步骤来描述这个过程吗?

EN

回答 2

Stack Overflow用户

发布于 2018-04-05 20:32:26

使用眩晕进行打孔,然后使用ENet

与眩晕服务器通信,并检索公共端点NAT类型。确保NAT类型是打开的,然后继续=>在用于与服务器通信的套接字上使用getsockname,以获取本地端点,然后关闭该套接字。

现在创建ENet服务器并使用本地端点初始化它。现在,来自其他计算机的ENet客户端可以使用公共端点连接到服务器。

票数 2
EN

Stack Overflow用户

发布于 2014-07-08 15:08:33

UDP可能会丢弃数据包,也可能会按顺序发送数据包。对数据包进行排序是很简单的。但是,如果丢了一个包,就没有办法恢复它。但是,许多执行UDP的系统将为您提供另一个具有重复数据的流。在这种情况下,您可以简单地使用辅助流创建一个备份,然后更新检查第一个流中丢弃的数据包是否在第二个流中可用。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24634870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档