我正在寻找一种实现此方案的简单方法:
假设我有两台机器,我想在它们之间共享数据。这些机器的位置/地址可以随时更改。我希望两台机器都能检入中央服务器以宣布它们的可用性。两个系统中的一个想要从另一个系统中提取文件。我知道我可以让接收系统向服务器发出请求,然后服务器从源请求文件,将其拉出,然后将其提供给请求者。但是,从带宽的角度来看,这似乎效率低下。该文件将被转移两次。是否存在可以将信号源直接广播到接收器的系统?
如果系统位于防火墙等后面,我无法保证端口转发等功能。我不知道方法。
感谢。
答案 0 :(得分:2)
当计算机A
想要将数据发送到计算机B
时,A
会向中央服务器C
发送请求。 C
要求B
获得许可。如果接受,C
会将B
的IP和端口提供给A
。 A
尝试直接与B
建立联系。如果不成功(即,如果B
在路由器/防火墙后面),则A
会通知C
失败。 C
然后将A
的IP和端口提供给B
。 B
尝试直接连接到A
(应该能够通过B
的防火墙/路由器)。如果任一连接成功,则A
具有直接连接以将数据发送到B
。如果两个连接都不成功(例如,如果A
也在防火墙/路由器后面),那么C
必须充当A
和B
之间所有传输的代理