當前位置:
首頁 > 最新 > Dweb:使用WebRTC/WebTorrent構建彈性Web

Dweb:使用WebRTC/WebTorrent構建彈性Web

本文來自WebTorrent的創始人、PeerCDN聯合創始人Feross Aboukhadijeh,他介紹了一種基於WebRTC通信的Web協議WebTorrent,通過WebTorrent可以節省伺服器資源,降低成本。LiveVideoStack對原文進行了摘譯。

文 / Feross Aboukhadijeh

譯 / 元寶

審校 / Ant

原文:

https://hacks.mozilla.org/2018/08/dweb-building-a-resilient-web-with-webtorrent/

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函數。還有一個npm包可用。

varclient =newWebTorrent()

// Sintel, a free, Creative Commons movie

vartorrentId ="magnet:..."// Real torrent ids are much longer.

vartorrent = client.add(torrentId)

torrent.on("ready", () => {

// Torrents can contain many files. Let"s use the .mp4 file

varfile = torrent.files.find(file=>file.name.endsWith(".mp4"))

// Display the file by adding it to the DOM.

// Supports video, audio, image files, and more!

file.appendTo("body")

})

就是這樣的!現在,你將看到BT流進入到標籤為的網頁中!

更多

你可以瀏覽webtorrent.io或者在Freenode IRC或Gitter上的#webtorrent中提問來了解更多信息。我們正在尋找更多能夠在GitHub問題跟蹤器上回答問題並幫助解決問題的人。如果你是一個友善,樂於助人的人,並想乘機深入挖掘洪流協議或WebRTC,那麼這就是你的機會!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 LiveVideoStack 的精彩文章:

零基礎搭建雲上大數據平台

TAG:LiveVideoStack |