微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何实现UDP打孔?

如何解决如何实现UDP打孔?

所以我想在 Golang 中创建一个 p2p 文件共享应用程序。我正在运行一个全球可访问的服务器,目的是共享 2 个客户端的 IP 地址。当两个客户端都有对方的IP地址时,他们可以使用打孔来共享文件

但是我在打孔部分遇到了一些问题。当我向服务器发送请求时,服务器将存储客户端的地址,稍后它将将此地址转发给其他客户端。问题是存储在服务器上的地址与用于打孔的地址不同。假设存储在服务器上的地址是第一个客户端的 NATrouterIP1:PORT-A 和第二个客户端的 NATrouterIP2:PORT-B。但是当我使用第一个客户端向第二个客户端发送消息时,它显示该消息是从 NATRouterIP1:PORT-C 发送的。 PORT-A 通常保持在 65000 左右。但是这个 PORT-C 是 1024。为了我的应用程序工作,这些端口应该是相同的。有人能解释一下是什么问题吗?

Github:https://github.com/killtheverse/go-send

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。