BS scoket
文章出處:http://yunxinrui.cn 作者:興邦開發(fā)部 人氣: 發(fā)表時間:2016年02月02日
BS scoket
在瀏覽器中通過http僅能實現(xiàn)單向的通信,comet可以一定程度上模擬雙向通信,但效率較低,并需要服務器有較好的支持; flash中的socket和xmlsocket可以實現(xiàn)真正的雙向通信,通過 flex ajax bridge,可以在javascript中使用這兩項功能. 可以預見,如果websocket一旦在瀏覽器中得到實現(xiàn),將會替代上面兩項技術,得到廣泛的使用.面對這種狀況,HTML5定義了WebSocket協(xié)議,能更好的節(jié)省服務器資源和帶寬并達到實時通訊。
WebSocket protocol 。
現(xiàn)很多網(wǎng)站為了實現(xiàn)即時通訊,所用的技術都是輪詢(polling)。輪詢是在特定的的時間間隔(如每1秒),由瀏覽器對服務器發(fā)出HTTP request,然后由服務器返回最新的數(shù)據(jù)給客戶端的瀏覽器。這種傳統(tǒng)的HTTP request 的模式帶來很明顯的缺點 – 瀏覽器需要不斷的向服務器發(fā)出請求,然而HTTP request 的header是非常長的,里面包含的有用數(shù)據(jù)可能只是一個很小的值,這樣會占用很多的帶寬。
而比較新的技術去做輪詢的效果是Comet – 用了AJAX。但這種技術雖然可達到全雙工通信,但依然需要發(fā)出請求。
在 WebSocket API,瀏覽器和服務器只需要做一個握手的動作,然后,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數(shù)據(jù)互相傳送。在此WebSocket 協(xié)議中,為我們實現(xiàn)即時服務帶來了兩大好處:
1. Header
互相溝通的Header是很小的-大概只有 2 Bytes
2. Server Push
-- 興邦BS