本文來自WebTorrent的創始人、PeerCDN聯合創始人Feross Aboukhadijeh,他介紹了一種基于WebRTC通信的Web協議WebTorrent,通過WebTorrent可以節省服務器資源,降低成本。LiveVideoStack對原文進行了摘譯。
WebTorrent是一種在Web瀏覽器中運行的BitTorrent協議的實現。這種服務文件的方法意味著,網站可以與盡可能多的用戶進行擴展,同時瀏覽網站,從而消除在數據中心運行集中服務器的成本。本文由Feross Aboukhadijeh撰寫,他是WebTorrent的創始人和PeerCDN的聯合創始人,也是一位多產的NPM模塊作者......最終統計有225個模塊!-Dietrich Ayala
什么是WebTorrent?
WebTorrent是第一個在瀏覽器中工作的種子客戶端。它完全由JavaScript編寫,并使用WebRTC進行真正的點對點傳輸。無需瀏覽器插件,擴展或安裝。
使用開放式Web標準,WebTorrent將網站用戶連接在一起,形成分布式的和分散式的瀏覽器到瀏覽器網絡,以實現高效的文件傳輸。使用基于WebTorrent的網站的人越多,它就越快,越有彈性。
架構
WebTorrent協議就像BitTorrent協議一樣,除了它使用的是WebRTC而不是TCP或uTP作為傳輸協議。
為了支持WebRTC的連接模型,我們對跟蹤器協議進行了一些更改。因此,基于瀏覽器的WebTorrent客戶端或“web peer”只能連接到支持WebTorrent / WebRTC的其他客戶端。
一旦連接對等體后,用于通信的有線協議與正常的BitTorrent就完全相同。這應該使現有流行的torrent客戶端如Transmission和uTorrent更容易添加對WebTorrent的支持。Vuze已經支持WebTorrent了!
入門
只需幾行代碼即可在瀏覽器中下載torrent!
要開始使用WebTorrent,只需在頁面上包含webtorrent.min.js腳本即可。你可以從WebTorrent網站下載腳本或鏈接到CDN副本。
這為窗口對象提供了一個WebTorrent函數。還有一個npm包可用。
varclient=newWebTorrent()//Sintel,afree,CreativeCommonsmovievartorrentId='magnet:...'//Realtorrentidsaremuchlonger.vartorrent=client.add(torrentId)torrent.on('ready',()=>{//Torrentscancontainmanyfiles.Let'susethe.mp4filevarfile=torrent.files.find(file=>file.name.endsWith('.mp4'))//DisplaythefilebyaddingittotheDOM.//Supportsvideo,audio,imagefiles,andmore!file.appendTo('body')})
就是這樣的!現在,你將看到BT流進入到標簽為
更多
你可以瀏覽webtorrent.io或者在Freenode IRC或Gitter上的#webtorrent中提問來了解更多信息。我們正在尋找更多能夠在GitHub問題跟蹤器上回答問題并幫助解決問題的人。如果你是一個友善,樂于助人的人,并想乘機深入挖掘洪流協議或WebRTC,那么這就是你的機會!
-
Web
+關注
關注
2文章
1281瀏覽量
70797 -
瀏覽器
+關注
關注
1文章
1040瀏覽量
36080
原文標題:Dweb:使用WebRTC / WebTorrent構建彈性Web
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論