写点什么

PeerJS 0.1.7:一个用于浏览器内 P2P 的 WebRTC 封装器

  • 2013 年 3 月 20 日
  • 本文字数:1017 字

    阅读完需:约 3 分钟

Michelle Bu Eric Zhang 在 3 月 6 日发布了 PeerJS 0.1.7 ,它封装了 WebRTC。后者是 W3C 倡议的旨在促进浏览器内 P2P 通信的一种技术。

尽管 WebSocket 的作用发展迅速,但 PeerJS 代表的是之前由服务器组织数据传输的方式有了根本性转变。

Bu 说:“ WebSocket 和 WebRTC 数据通道看起来一样——都支持二进制数据,还允许从一个客户端发送可能最终会到达另一客户端的任意数据,然而它们本质上是不同的。使用 WebRTC 数据通道,可以向其他任何节点传送数据而无需经由某些中心服务器。以 Facebook 或 Google 聊天程序为例,向坐在旁边的人发送一条消息需要相当多的时间。这是因为消息必须在物理上从你的计算机提交到需要路由 50 或 60 跳之远的 Facebook 服务器。从网络角度来看这非常不理想。理想状态下,这个包应该仅传输 20 英尺——这正是 WebRTC 的工作方式。之前整个网络拓扑看起来像一个蜘蛛,而现在更像是一张网。”

拥抱这一新的生态系统吧!PeerJS 旨在封装 WebRTC 规范的复杂性,使其成为一套易于理解的 API。PeerJS 的使用方式如下:

  • 使用版本号 26 或更高版本的 Chrome。这意味着当前只有 Canary beta 版本的浏览器可以使用。在接下来几个月,请留意 WebRTC 的浏览器兼容性更新。Bu 预计在 2 到 3 个月内将支持与最新版本的 Firefox 进行互操作。
  • 建立一个节点服务器(PeerServer)。可以在代码托管网站注册,抓取代码自己构建,也可以在 node.js 上通过“npm install peer”命令安装。Bu 说:“一旦连接到一个节点,就不再需要服务器了;除非想连接到更多的节点。”
  • 启动代码。看一下 hello world 例程,了解“PeerJS 省去了很多麻烦,不需要构建和运行代理(brokering)服务器,不需要理解纷繁复杂的 WebRTC 节点连接和数据通道规范(那可是需要设置无数的处理程序),不需要考虑边界情况,也不需要应对不同浏览器之间的差异。”Bu 说道。

由于 WebRTC 还在发展,除了少量聊天 demo 外,PeerJS 在实践中的例子还很少。 PeerKit 是一个例外,它是 Zhang 创建的、作为 P2P CDN 的新兴项目。Bu 说:“想象一下这样的世界:猫的图片来自咖啡店里在你旁边恰好浏览同一网站的人,而不是内华达州的中心服务器”。

在浏览器之间,要在有状态的双向数据传输之上构建下一代应用,很可能还需要几年,但在此之前“WebRTC 将是开发者的派对”,Bu 这样说,“当考虑将所有状态都保存在客户端时,一定会有许多技术问题需要处理。”

查看英文原文: PeerJS 0.1.7: A WebRTC Wrapper For P2P In The Browser

2013 年 3 月 20 日 08:274304
用户头像

发布了 256 篇内容, 共 55.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

基于Javaweb,Mysql图书管理系统

叫练

开源实践 | OceanBase 在红象云腾大数据场景下的实践与思考

OceanBase 数据库

OceanBase 开源 客户案例 开源实践

中间件头部厂商加入,龙蜥社区携手东方通共创开源新生态

OpenAnolis小助手

Linux 开源

译文|借助 Pulsar Functions 迁移到无服务应用程序

Apache Pulsar

Java 开源 架构 云原生 Apache Pulsar

不会使用Spring的配置文件,赶紧把这个甩给他

华为云开发者社区

Java spring API bean 配置文件

等保2.0基本要求是什么?跟等保1.0一样吗?

行云管家

网络安全 等保 等级保护 等保2.0

算法大佬Carl的面试简历长啥样?同款模板让你脱胎换骨!

博文视点Broadview

30人的产研团队如何高效协同?

阿里云云效

阿里云 DevOps 云原生 研发管理 研发团队

引领中国分布式数据库企业技术创新力,平凯星辰获得赛迪顾问报告推荐

PingCAP

Promise 异步流程控制

编程江湖

【等保小知识】等保二级是否需要做密评?什么是密评?

行云管家

网络安全 等级保护 等保2.0 等保二级

尚硅谷JavaWeb新版视频教程发布

飞不起来的童年

javaWeb

大数据开发之Flink sql 的基础用法

飞不起来的童年

flink sql 大数据开发

火山引擎边缘计算节点通过 EC Ready 边缘云首批评测

火山引擎边缘计算

云原生 边缘计算 测评

Serverless,引领云计算下一个阶段

华为云开发者社区

MySQL 云计算 Serverless 华为云 FunctionGraph

潘娟:从女工程师转变成开源商业化Infra公司创始人,痛并快乐着

腾源会

数据库 开源 Apache ShardingSphere 开源商业化

一个BPMN流程示例带你认识项目中流程的生命周期

华为云开发者社区

工作流 项目 BPM BPMN Activiti框架

Redis持久化RDB和AOF区别

编程江湖

redis'

PeerJS 0.1.7:一个用于浏览器内P2P的WebRTC封装器-InfoQ