题
从一个 Joel的后在副驾驶:
直接连接!我们一直在做 我们的一切可能确保 雾溪副驾驶员可以连接在任何 网络的情况,不管是什么 防火墙或Nat。要 做到这一点,双方都使 出站连接到我们的服务器, 其中继业务上代表他们。那么,在许多情况下,这不是 必要的。所以2.0版本 东西而不是聪明:它设定了 最初的连接,通过我们的 服务器,所以你得到连接,正确的 离100%的可靠性。但是然后 一旦你们都是连接的,悄悄地, 在该背景下,寻找一种方式 做一个直接连接。如果不能, 没有什么大交易:你只要保持中转 通过我们的服务器。如果你可以做一个 直接对等的连接, 悄悄转移到你的数据 直接连接。你不会注意 任何东西除外,也许更快 通信。
他们怎么改变服务器的连接P2P连接?
解决方案
这是非常棘手和有趣的。我肯定有一些详细信息是错误的,但概述是这样的:
该方案已经可以互相交谈过的Joel的服务器,以便他们可以彼此交换信息和Joel的服务器。另外,乔伊有他们的外部IP地址,并且他们给乔尔的信息有关他们内部的IP地址。
他们决定要试试这个打孔的技术。计算机发起的TCP连接计算机的使用B的外部IP地址。它不会经过的,但它所做的是说是一个路由器,它需要允许进入的包从B上给出口。
计算机B不一样的事情,但是它的消息得到通过,因为一个路由器打开了一个口/ip组合相匹配什么B发(有些港口,在这里-这不是琐碎的,但是是可行的).
B的路由器记得,B启动了一个连接有一个给出口和知识产权所有的分组现在流入B过去他们的路由器正确。
所以它实际上是相当直截了当,但实施有详细信息,特别是关于如何港口都给予新的TCP连接,以及如何NAT路由器 通常 处理TCP请求以及他们如何地图以外的港口。这些细节是有趣的,和困难,位。
-亚当
其他提示
我认为简单的版本,他们的服务器连接以及更换P2P连接。
沿线的东西:
- Machine1连接到副驾驶的服务器。
- Machine1连接到副驾驶的服务器。
- Machine1连接到副驾驶的服务器。
- Machine2随后连接,他们开始画面共享。
- Machine2打开了一个港口用于Machine1连接。
- Machine1尝试连接到现在的开口在Machine2.
如果这种连接建立:
- 连接到副驾驶的服务器被切断。
- 数据,而不是转移过来的直接(P2P)之间的连接两个机。