2010-09-14 47 views
0

我在尋找實現該場景的簡單方式之間的數據傳輸:文件/任意兩個來源

說我有兩臺機器,我想之間共享數據。這些機器的位置/地址可以隨時更改。我希望兩臺計算機都能檢入中央服務器以宣佈其可用性。兩個系統中的一個想要從另一個系統中提取文件。我知道我可以讓接收器系統向服務器發出請求,服務器然後從源請求文件,將其拉出,然後將其饋送給請求者。但是,從帶寬的角度來看,這似乎效率低下。該文件將被轉移兩次。是否有一個系統可以讓播放源直接播放到接收器?

如果一個系統在防火牆後面等不能保證端口轉發等事情,我不知道有什麼辦法。

謝謝。

+0

你有沒有看過像BitTorrent這樣的P2P系統?似乎有點類似於我。 – 2010-09-14 15:12:42

+0

看起來像BitTorrent使用反向連接。 – dwelch 2010-09-15 20:51:31

回答

2

當機器A想要向機器B發送數據時,A向中央服務器C發送請求。 C要求B獲得許可。如果被接受,C給出B的IP和端口號爲AA嘗試直接連接到B。如果不成功(即,如果B位於路由器/防火牆之後),則A通知C該失敗。 C然後給A的IP和端口BB嘗試直接連接到A(它應該能夠通過B的防火牆/路由器)。如果任何一個連接成功,則A直接連接將數據發送到B。如果兩個連接都不成功(即,如果A也位於防火牆/路由器之後),那麼C必須充當AB之間的所有傳輸的代理。

+0

這是一個美麗的答案 – 2010-09-14 21:09:17