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