Skype如何直接发送文件?

Rok*_*Rok 3 skype peer-to-peer

我想知道 Skype 如何将文件直接发送给通常位于防火墙后面的用户?这是如何工作的,因为我需要开发类似的东西,其中一个本地网络服务器(在防火墙后面)需要能够将文件直接发送/流式传输到另一个相同的服务器?

我知道需要某种可公开访问的中央服务器,通过它两者可以相互发现,我计划拥有那个,但是在那之后直接连接如何发生?

谢谢

slh*_*hck 9

Skype不依赖于服务器发送文件本身。Skype使用一种称为打孔的技术来允许在两个限制性防火墙后面进行通信。本质上,它会打开一个通信通道,从而通过本地防火墙“打一个洞”,其他 Skype 客户端可以使用它来传输数据。

Skype 的通信几乎完全基于点对点,因此实际数据传输不需要中央服务器。然而,它需要一个超级节点来进行初始通信。

因此,NAT 路由器会保存哪些内部计算机与哪台外部计算机进行通信以及两者使用了哪些端口的表格。VoIP 软件使用的技巧包括说服防火墙已经建立了连接,它应该将后续传入的数据包分配给防火墙。

所以,基本上,通信看起来像这样: