1. 程式人生 > >WebSocket 介紹(一)

WebSocket 介紹(一)

ive w3c 使用 src 風格 減少 在線遊戲 知識 正在

WebSocket 發起單個請求,服務端不需要等待客服端,客戶端在任何時候也能發消息到服務端,減少了輪詢時候的延遲.經歷一次連接後,服務器能給客戶端發多次。下圖是輪詢與WebSocket的區別。

技術分享圖片

基於http的實時消息是相當的復雜,在無狀態的請求中維持回話的狀態增加了復雜度,跨域也很麻煩,使用ajax處理請求有序請求需要考慮更多。通過ajax進行交流也不簡單。每一個延伸http功能的目的不是增加他的復雜度。websocket 可以大大簡化實時通信應用中的鏈接。

Websocket是關於標準

Websocket是一種底層網絡協議,可以讓你在這個基礎上建立別的標準協議。比如在WebSocket的客戶端的基礎上使用XMPP登錄不同的聊天服務器,因為所有的XMPP服務理解相同的標準協議。WebSocket是web應用的一種創新。 為了與其他平臺競爭,WebSocket是H5應用提供的一部分先進功能。每個操作系統都需要網絡功能,能夠讓應用使用Sockets與別的主機進行通信,是每個大平臺的核心功能。在很多方面,讓Web應用表現的像操作系統平臺是html5的趨勢。像socket這樣底層的網絡協議APIs不會符合原始的安全模型,也不會有web api那樣的設計風格。WebSocket給H5應用提供TCP的方式不會消弱網絡安全且有現代的Api。 WebSocket是Html5平臺的一個重要組件也是開發者強有力的工具。簡單的說,你需要WebSocket創建世界級的web應用。它彌補了http不適合實時通信的重大缺陷。異步、雙向通信模式,通過傳輸層協議使WebSocket具有普遍靈活性。想象一下你能用WebSocket創建正真實實時應用的所有方式。比如聊天、協作文檔編輯、大規模多人在線遊戲(MMO),股票交易應用等等。 WebSocket是一個協議,但也有一個WebSocket API,這讓你的應用去控制WebSocket的協議去響應被服務端觸發的事件。API是W3C開發,協議是IETE制定。現代瀏覽器支持WebSocket API,這包括使用全雙工和雙向鏈接的方法和特性。讓你執行像打開關閉鏈接、發送接收消息、監聽服務端事件等必要操作。第二章
會給出這些Api的更多細節和使用實例。 WebSocket協議能夠讓客戶端和遠程服務端通過web建立全雙工通信。支持傳輸二進制字符串和文本字符串,協議包含打開握手之後的基本消息框架。第三章會描述更多協議的細節,向你展示如何創建自己的WebSocket服務器。 大量的可選的WebSocket服務器、開發者社區以及無數正在使用WebSocket的應用體現了WebSocket的火熱,已有大量已經實現的WebSocket服務器,例如Apache mod_pywebsocket, Jetty, Socket.IO 和 Kaazing’s WebSocket Gateway. 這本書的靈感來自於分享我們多年在Kaazing項目中處理WebSocket及相關技術的知識和經驗。Kaazing被作為企業級WebSocket網關服務器和它的客戶端庫已經超過5年。 社區: http://www.websocket.org/ http://webplatform.org

《The Definitive Guide to HTML5 WebSocket》 翻譯。

轉:http://www.cnblogs.com/stoneniqiu/p/5357444.html

WebSocket 介紹(一)