WebSocket 雙向通訊
WebSockets
是一個新協議,爲兼容現有瀏覽器的握手規範借用 HTTP
的協議來完成部分握手(跟HTTP
協議基本沒有關係)。
WebSocket 的優勢
1. WebSocket
客戶端與服務器均可以主動傳送數據給對方。HTTP
協議中,服務端不能主動聯繫客戶端,只能由客戶端發起
2. 不一樣頻率建立TCP請求及銷燬請求,減小網絡帶寬資源的佔用,同時也節省服務器資源。
WebSocket方法
1.Socket.send()
: send(data)
方法使用連接傳輸數據
2.Socket.close()
: close()
方法用於終止任何現有連接
WebSocket API
事件 |
事件處理程序 |
描述 |
open |
Socket.onopen |
創建 socket 連接時觸發這個事件 |
message |
Socket.onmessage |
客戶端從服務器接受數據時觸發 |
error |
Socket.onerror |
連接發生錯誤時觸發 |
close |
Socket.onclose |
連接被關閉時觸發 |
///測試地址:ws://echo.websocket.org
var Socket = new WebSocket('ws://echo.websocket.org');
Socket.onopen = function(e){
Socket.send('hello');
}
Socket.onmessage = function(e){
console.log('message')
console.log(e.data);
Socket.close();//終止連接
//Socket.send('kiwi');//報錯
}
Socket.onclose = function(e){
console.log('close');
}
Socket.onerror = function(){
console.log('error')
}
//message
//hello
//close
複製代碼