Language agnostic 两个任意源之间的文件/数据传输
我正在寻找一种实现此场景的简单方法: 假设我有两台机器,我想在它们之间共享数据。这些机器的位置/地址可以随时更改。我希望这两台机器都签入到中央服务器,以宣布它们的可用性。两个系统中的一个想要从另一个系统中提取文件。我知道我可以让接收器系统向服务器发出请求,然后服务器从源请求文件,提取文件,然后将其提供给请求者。然而,从带宽的角度来看,这似乎效率低下。该文件将被传输两次。是否有一个系统可供信源直接向接收器广播 如果系统位于防火墙后面,则无法保证端口转发等。我不知道有什么办法Language agnostic 两个任意源之间的文件/数据传输,language-agnostic,sockets,transport,Language Agnostic,Sockets,Transport,我正在寻找一种实现此场景的简单方法: 假设我有两台机器,我想在它们之间共享数据。这些机器的位置/地址可以随时更改。我希望这两台机器都签入到中央服务器,以宣布它们的可用性。两个系统中的一个想要从另一个系统中提取文件。我知道我可以让接收器系统向服务器发出请求,然后服务器从源请求文件,提取文件,然后将其提供给请求者。然而,从带宽的角度来看,这似乎效率低下。该文件将被传输两次。是否有一个系统可供信源直接向接收器广播 如果系统位于防火墙后面,则无法保证端口转发等。我不知道有什么办法 谢谢。当机器A想要向机
谢谢。当机器
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
之间所有传输的代理。您研究过像BitTorrent这样的P2P系统吗?看起来有点像我。看起来BitTorrent使用反向连接。