javascript
PeerJS 0.1.7:一个用于浏览器内P2P的WebRTC封装器
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這樣說,“當考慮將所有狀態都保存在客戶端時,一定會有許多技術問題需要處理。”
轉載于:https://www.cnblogs.com/shihao/archive/2013/03/28/2987757.html
總結
以上是生活随笔為你收集整理的PeerJS 0.1.7:一个用于浏览器内P2P的WebRTC封装器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NH3.X与2.X使用上的一些区别
- 下一篇: 【原】P2P应用的探究