WebSocket
WebSocket是一種比HTTP協(xié)議更加高效的網(wǎng)絡(luò)傳輸協(xié)議,它有效地減少了HTTP頭中的冗余信息和網(wǎng)絡(luò)延時(shí),能夠提供客戶端-服務(wù)器和服務(wù)器-客戶端的雙通道實(shí)時(shí)通信,同時(shí)具有很好的安全機(jī)制?;赪ebSocket的URL通常以WS://...開(kāi)頭,類似于HTTPS,安全的WebSocket連接URL通常以WSS://...開(kāi)頭。要實(shí)現(xiàn)WebSocket通信,需要客戶端瀏覽器支持WebSocket,服務(wù)器端也必須支持WebSocket。
WebSocket還具有廣播功能,當(dāng)有多個(gè)監(jiān)聽(tīng)者連接時(shí),廣播服務(wù)器發(fā)送的消息都可被接收到。
2.瀏覽器支持檢測(cè)
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對(duì)象
WebSocket在DOM中是window對(duì)象的子對(duì)象,它具有:
•WebSocket(url)構(gòu)造函數(shù)。
•readyState。只讀屬性,其值可以是CONNECTING(0),OPEN(1),CLOSED(3)。
•boolean send(in DOMString data)和void close()兩個(gè)方法,分別用于發(fā)送消息和關(guān)閉WebSocket連接
•onopen, onmessage, 和onclosee三個(gè)事件屬性,分別對(duì)open, message和close三個(gè)WebSocket事件。
3.使用WebSocket的步驟
//建立連接
url = "ws://localhost:8080/echo";
w = new WebSocket(url);
//事件監(jiān)聽(tīng)
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");
}
//發(fā)送消息
document.getElementById("sendButton").onclick = function() {
w.send(document.getElementById("inputMessage").value);
}
//關(guān)閉連接。一般情況下不關(guān)閉,以保持實(shí)時(shí)通信
w.close();
posted on 2013-03-19 12:54 何云隆 閱讀(1022) 評(píng)論(0) 編輯 收藏 所屬分類: HTML5