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使用反向连接。