• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c++ - 使用 ENet 进行 NAT 打洞

[复制链接]
菜鸟教程小白 发表于 2022-12-13 08:25:21 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

如果可能的话,有人可以提供一些描述该过程的伪代码/步骤吗?



Best Answer-推荐答案


我想通了。这是我所做的:

  1. 为当前客户端创建主机
  2. 连接到第 3 方服务器
  3. 当另一个客户端连接到第 3 方服务器时,它会将其他客户端信息发送给每个客户端
  4. 在收到对等方地址后,每个对等方尝试在用于连接服务器的同一套接字上与另一个对等方建立连接,并开始向该地址发送数据包。这最初是我的问题。我只发送了几个数据包,它们很容易丢失。连接只能工作一半的时间。我最终生成了一个发送数据包的线程,直到连接成功或失败。
  5. 应在发送几个数据包后建立连接

关于c++ - 使用 ENet 进行 NAT 打洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24634870/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap