2011-01-23 36 views
44

沒有更多要添加。是否可以使用HTML和JavaScript構建一個torrent客戶端。你不能使用Java,ActiveX,NaCl等東西......如果是的話,請給出高級描述。是否可以使用HTML(5)和JavaScript構建一個torrent客戶端?

我沒有太多有關前端開發的知識,但我認爲websockets將能夠完成網絡連接(可以將一個客戶端連接到另一個客戶端,而不必將所有數據都通過服務器?)。我知道你不能使用JavaScript編寫文件,所以我認爲下載的文件要麼必須完全保存在內存中,要麼客戶端必須使用HTML5中的新API之一來存儲內容。

+0

我想問題是更多的是:有一個節點「瀏覽器」? http://browserver.org/ – 2013-06-05 15:28:51

+1

github.com/popcorn-official/popcorn-app:由於數字千年版權法案刪除,版本庫無法使用。 – 2015-02-19 15:54:38

回答

32

不,它不是。

這是因爲WebSocket規範屬於HTML5和JavaScript ;-)如此說來之外,開放的問題「使用[逐行/即將到來的]瀏覽器的原生支持的功能」,然後...

...仍然沒有 :-)

這是因爲WebSocket需要特殊的握手來設置限制。這不是一個免費的開放式TCP-fest。這一辦法將要求或者

  1. 客戶端進行修改,以接受的WebSocket請求(以及任何跨站點訪問問題處理)

  2. ,或者更現實,服務器通過

  3. 反彈
+0

1.我可以做這個修改,還是必須由瀏覽器的開發者完成? 2.是否所有信息都會通過服務器(如跟蹤器索引的每個文件的每一位)或者只有握手?謝謝! – quilby 2011-01-23 20:30:27

8

您不能使用WebSockets,因爲這些都是嚴格的客戶端服務器。但即將推出的WebRTC標準,主要針對音頻/視頻會議,對於通用客戶端 - 客戶端數據傳輸有provision。如果此規定使其成爲最終版本,那麼您將有一種可行的方法來實現瀏覽器之間的通用對等數據傳輸。

3

我很晚參加派對,但由於這個問題仍然在Google的搜索結果中名列前茅,無論如何我都會回答。

您可以使用由BitTorrent Torque提供的Javascript接口編寫與Btapp.js有關的BitTorrent相關網絡應用程序或瀏覽器擴展。當您調用connect方法時,系統會提示用戶安裝BitTorrent Torque,就這些了。一些很酷的東西,如果你看看現有的項目使用它 - 流媒體,拖放共享等

至於解決方案沒有任何依賴,尼克拉斯勒提到的那些似乎仍然是唯一可行選項。

9

今天無法做到這一點沒有什麼好的理由。 BitTorrent/uTorrent都有代碼支持與二進制幀的websocket連接。但是,目前它們沒有支持(由於我認爲的政治/產品原因)編譯。我曾經在BitTorrent工作,另一位工程師(Arty)寫了支持。有一段時間,能夠從移動Safari上下載到山寨iPad上真的很酷。 (足夠有趣地直接保存到Google Drive)

HTTP跟蹤器可以配置爲發送Access-Control-Allow-Origin頭。

此外,跟蹤器通告協議可以使用「密鑰」字段中的一位來指示客戶端接受websocket連接。然後像「typewant」這樣的特殊參數可能表明通告響應應該只返回已發送該位的客戶端。

跟蹤器協議也可以進行類似的擴展,以支持WebRTC P2P DataChannel連接的協商,以便可以直接連接到瀏覽器。

現在,我們有chrome.socket平臺的API,並jstorrent,Chrome封裝應用(專爲Chrome作業系統爲主)

相關問題