hyljava

          WebSocket

           

          WebSocket是一種比HTTP協議更加高效的網絡傳輸協議,它有效地減少了HTTP頭中的冗余信息和網絡延時,能夠提供客戶端-服務器和服務器-客戶端的雙通道實時通信,同時具有很好的安全機制。基于WebSocket的URL通常以WS://...開頭,類似于HTTPS,安全的WebSocket連接URL通常以WSS://...開頭。要實現WebSocket通信,需要客戶端瀏覽器支持WebSocket,服務器端也必須支持WebSocket。

          WebSocket還具有廣播功能,當有多個監聽者連接時,廣播服務器發送的消息都可被接收到。

          2.瀏覽器支持檢測

          function loadDemo() 

          if (window.WebSocket) 

          document.getElementById("support").innerHTML = "HTML5 WebSocket is supported in your browser."; 

          } else 

          document.getElementById("support").innerHTML = "HTML5 WebSocket is not supported in your browser."; 

          }

          3.WebSocket對象

          WebSocket在DOM中是window對象的子對象,它具有:

          •WebSocket(url)構造函數。

          •readyState。只讀屬性,其值可以是CONNECTING(0),OPEN(1),CLOSED(3)。

          •boolean send(in DOMString data)和void close()兩個方法,分別用于發送消息和關閉WebSocket連接

          •onopen, onmessage, 和onclosee三個事件屬性,分別對open, message和close三個WebSocket事件。

          3.使用WebSocket的步驟

          //建立連接

          url = "ws://localhost:8080/echo"; 

          w = new WebSocket(url); 

          //事件監聽

          w.onopen = function() { 

          log("open"); w.send("thank you for accepting this websocket request"); 

          w.onmessage = function(e) { 

          log(e.data); 

          w.onclose = function(e) { 

          log("closed"); 

          }

          //發送消息

          document.getElementById("sendButton").onclick = function() { 

          w.send(document.getElementById("inputMessage").value); 

          }

          //關閉連接。一般情況下不關閉,以保持實時通信

          w.close();

          posted on 2013-03-19 12:54 何云隆 閱讀(1018) 評論(0)  編輯  收藏 所屬分類: HTML5


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 克拉玛依市| 永吉县| 盐边县| 井研县| 呼和浩特市| 上栗县| 吉水县| 江门市| 古丈县| 庐江县| 塘沽区| 丰都县| 随州市| 霍邱县| 碌曲县| 铜川市| 铁力市| 南和县| 上饶市| 德令哈市| 济阳县| 西和县| 黑山县| 夏邑县| 青海省| 丹东市| 古丈县| 宁明县| 呼图壁县| 南皮县| 历史| 大城县| 抚顺县| 荃湾区| 博客| 贵州省| 那坡县| 大庆市| 房产| 包头市| 枣强县|