李紀濤
(國家廣播電視總局無線電臺管理局,北京 100866)
1 WebSocket 技術
WebSocket 是HTML5 開始提供的一種在單個TCP 連接上進行全雙工通訊的協議,允許服務端主動向客戶端推送數據, 使得客戶端和服務器之間的數據交換變得更加簡單。在Websocket 技術出現之前,由于Http 固有的技術特點,只能由客戶端對服務端發起Http 請求,然后服務端返回最新的數據給客戶端,而不能由服務端主動發起對客戶端的連接請求及數據發送。為了實現推送技術,只能采用Ajax 輪詢的方式,這種方式有明顯的缺點,即瀏覽器需要不斷的向服務器發出請求,浪費系統資源、數據實時性差。而Websocket 的出現解決了以上的問題[1]。WebSocket 中,瀏覽器和服務器只需要完成一次握手,兩者之間就直接可以創建持久性的連接,并進行雙向數據傳輸。瀏覽器和服務器只需要做一個握手的動作,然后,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送[2]。MSE (Media Source Extensions),即媒體源擴展,可以理解為一種API,其提供了實現無插件且基于Web 的流媒體的功能。通過MSE,媒體串流能夠通過JavaScript 創建,并且可以使用HTML5 的