你需要一台服务器来交换IP地址等.正如另一个线程字面指出的那样,保证连接的唯一方法是通过服务器进行代理.大多数对等系统使用UPnP和NAT Hole Punching(此方法需要服务器中继端口信息,仅适用于UDP)在大多数情况下建立连接.
NAT Hole Punching由两个客户端建立与服务器的连接工作,然后两者都尝试直接连接到另一个端口转发到另一个端口.大多数UDP NAT会在短时间内记住IP地址和端口,因此虽然数据永远不会到达另一端(不是这对UDP很重要),但是其他客户端会尝试稍后连接到该报告作为NAT期待回复.