webrtc在服务器端通信协议,一种基于WebRTC通信的Web协议WebTorrent

本文来自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,那么这就是你的机会!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值