我正在构建一个系统,该系统依赖于中央服务器将第一个用户(在移动或桌面应用程序上)的 IP 地址和端口发送给第二个用户(在移动或桌面应用程序上)。第二个用户与第一个用户建立P2P加密连接,使用中心服务器发送的IP地址和端口,直接发送一个大文件(理想情况下,实际文件不经过中心服务器)。
即使用户在不同的防火墙/NATs 和移动或桌面设备上,该系统也需要工作,而不需要用户手动打开端口。
我一直在研究 NAT Traversal Protocol (Teredo IPv6)、libjingle(Google 的开源套件)、STUN、直接套接字连接和用户之间的直接 VPN。
如果我正确地接近这个,我很困惑。所有这些选项都会独立解决这个问题吗?还是我接近这个错误?即使在 IPv4 路由器后面,直接 IPv6 连接会直接出来吗?