基於html5 WebSocket和WebRTC實現IM和視音頻呼叫(一)


半年前Google開源了WebRTC項目,並把其加入到chrome dev版本中,實現瀏覽器之間無插件的視音頻多媒體傳輸。這個新的技術使用了HTML 5和簡單的Javascript API,開發者可以很輕松的創建RTC應用,只要瀏覽器支持,就可在不安裝任何擴展和插件的前提下進行實時音頻和視頻聊天。

最近工作中需要對WebRTC做一些調研,於是我計划基於WebSocke和WebRTC實現IM和視音頻對話的prototype。

在html5 WebSocket出現以前,web版本的IM應用都是基於AJAX輪詢的信令傳輸方式,這種方式的優點是調用rest接口可以實現無狀態維護信令傳輸,server端都有成熟的jsp、php等技術框架支持;缺點不言而喻,就是網絡使用浪費server負載過大等等。WebSocket的出現給web端的信令傳輸提供了新的道路。

WebSocket作為HTML5一種新的協議,實現了瀏覽器與服務器的雙向通訊。在 WebSocket API 中,瀏覽器和服務器只需要要做一個握手的動作,然后,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送。

我自然選擇了WebSocket作為IM和WebRTC信令傳輸的媒介,這樣就需要搭建一個支持WebSocket協議的server端。

經過一番google后發現有很多解決方案,純C實現的opensource工程libwebsocket,Node.js實現,新版本的web服務器jetty和netty等也都對websocket提供了支持。鑒於java語言的易操作性我最終選擇了jetty + java的實現。

參照這個帖子(http://www.cnblogs.com/svage/archive/2011/11/24/2262008.html)搭起了WebSocket server。需要提醒大家的是jetty版本的選擇上使用11年10月左右的版本,新版本運行會出初始化錯誤。

 

先到這里吧,明天繼續寫~

 

相關資料:

http://www.cnblogs.com/svage/archive/2011/11/24/2262008.html

http://git.warmcat.com/cgi-bin/cgit/libwebsockets/

http://dev.w3.org/html5/websockets/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM