WebSocket:建立例項、傳送和接收資料
阿新 • • 發佈:2019-02-16
1、Web Sockets:能夠在客戶端和服務端之間傳送非常少量的資料,而不必擔心HTTP那樣位元組級的開銷
由於傳遞的資料包很小,因此WebSockets非常適合移動應用。
缺點:制定協議的時間比制定JavaScript API的時間還要長。
1) URL模式:
未加密:ws:// 已加密:wss://
2)建立WebSocket:先例項一個WebSocket物件並傳入要連線的URL
var socket = new WebSocket("ws://www.example.com/server.php);
socket.close(); // 關閉連線
3) 表示當前狀態的readyState屬性
WebSocket.OPENING (0):正在建立連線
WebSocket.OPEN (1):已經建立連線
WebSocket.CLOSING (2):正在關閉連線
WebSocket.CLOSE (3):已經關閉連線
4)傳送資料
var message = {
time: new Date(),
text: "Hello world!",
clientId: "asdfp8734rew"
};
socket.send(JSON.stringify(message)); // 複雜的資料結構要先進行序列化
5)接收資料
socket.onmessage = function(event){
var data = event.data; // data就是要解析的接收到的JSON字串
}
6)其他事件:在連線生命週期的不同階段觸發
open:在成功建立連線時觸發
error:在發生錯誤時觸發