0

我正在寻找一种简单的方法来实现这个场景:

假设我有两台机器我想在它们之间共享数据。这些机器的位置/地址可以随时更改。我希望两台机器都签入到中央服务器以宣布它们的可用性。两个系统中的一个想要从另一个提取文件。我知道我可以让接收器系统向服务器发出请求,然后服务器从源请求文件,拉取文件,然后将其提供给请求者。然而,从带宽的角度来看,这似乎是低效的。该文件将被传输两次。是否有一个系统可以让源直接将其广播到接收器?

如果系统位于防火墙后面,则无法保证端口转发等事情。我不知道有什么办法。

谢谢。

4

1 回答 1

2

当机器A想向机器发送数据时BA向中央服务器发送请求CC请求B许可。如果接受,则将的 IP 和端口提供C给。 尝试直接连接。如果不成功(即,如果在路由器/防火墙后面),则通知失败。 然后将的 IP 和端口给. 尝试直接连接(应该能够通过防火墙/路由器)。如果任一连接成功,则有直接连接可将数据发送到. 如果两个连接都不成功(即,如果BAABBACCABBABABA也在防火墙/路由器后面),然后C必须充当 和 之间所有传输的A代理B

于 2010-09-14T21:06:35.377 回答