0

所以我正在尝试在 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

4

0 回答 0