2011-02-22 12 views
0

此問題已回答: Do websockets allow for p2p (browser to browser) communication?在Web應用程序中是否有任何連接兩個客戶端(P2P)的標準計劃?

答案是否定的。

我的問題是:有沒有這方面的計劃? W3C或任何計劃這種能力的任何投機草案? (我沒有搜索到任何東西,但我不確定我是否在搜索錯誤的東西。)

WebSockets API,它允許您將文件從一個用戶轉移到另一個用戶(如http://jetbytes.com/和其他一些我見過的)。我相信這些工作是通過服務器傳輸文件來實現的 - 服務器上的文件非常輕,因爲它不必在發送到接收客戶端後存儲每個塊。但它確實會爲每個文件傳輸使用服務器的帶寬兩次(向下和向上)。

如果服務器只能將每個客戶端的IP地址(和一個端口?)傳遞給另一個客戶端,並且整個數據傳輸可能發生在它們之間,那麼它會更有效(對於服務器和兩個客戶端)。

爲了安全起見,瀏覽器可能會提示每個用戶給予權限(「本網站example.com想要連接到IP地址1.2.3.4以接收23MB的文件傳輸。允許/拒絕?」)。

如果沒有計劃對此發佈規範,爲什麼不呢?

+0

只是一個猜測:如果有人開發一種方法來使用您的瀏覽器作爲P2P文件共享客戶端,那麼他們可能不得不像對待Napster,KaZaA,Limewire等那樣對待Internet Explorer。 – drudge

+0

With一個像我描述的系統,你不能提供你的計算機的內容被其他匿名用戶索引和搜索。在網絡應用程序中,您可以選擇計算機上的文件,該應用程序會檢查大小和詳細信息,併爲您提供用於下載的URL。您將URL發送給某人,他們連接並點擊下載,然後開始傳輸。 – callum

+0

對不起,我應該澄清一下......我的觀點是:這比將電子郵件附件發送給某人而不是普通文件共享更類似。除非用戶的_browsers_允許用戶共享他們的所有文件(這樣他們可以被任何人隨時索引和下載),否則將無法建立類似Limewire的網絡應用程序。如果瀏覽器確實選擇啓用它,那麼它不會是瀏覽器,它將是一個內置P2P文件共享客戶端的瀏覽器。這已經是完全可能的了 - 任何瀏覽器都可以通過現有的P2P協議來實現這一點,但他們不這樣做,因爲這不符合他們的利益。 – callum

回答

1

爲了解決部分問題(即NAT穿越),已經實現了一些RFC,但是整個問題相當複雜,我懷疑它們是否會成爲完整的官方標準。

你的建議實際上是P2P框架的TURN和STUN實現。它看起來很容易,但是當你瞭解細節時,這是一個複雜的技術問題(我甚至沒有提到安全性)。這不僅僅是傳遞IP地址的問題。

如果您想了解更多詳細信息,請閱讀在線實用JXTA II手冊中的NAT遍歷章節,以便在Scribd上閱讀。

相關問題