websocket通讯:
var aWebSocket = new WebSocket(url [, protocols]); ==>url 要连接的URL;这应该是WebSocket服务器将响应的URL。
通过aWebSocket得到webSocket的实例化;
aWebSocket.onopen = function(event) { 当WebSocket 的连接状态readyState 变为1时调用;这意味着当前连接已经准备好发送和接受数据
console.log("WebSocket is open now.");
if(aWebSocket.readyState ===1){
aWebSocket.send(JSON.stringify({ 发送的数据必须通过JSON.stringify来处理之后再发送 .send();方法
key:value,
}))
}
};
aWebSocket.onmessage = function(event) { 当收到来自服务器的消息时被调用的
console.debug("WebSocket message received:", event);
const dataValue = JSON.parse(event.data);
if(dataValue.code && dataValue.code === 1000){
// 此处处理要处理的逻辑
}
};
aWebSocket.onclose = function(event) { 在 WebSocket 连接的readyState 变为 CLOSED时被调用
console.log("aWebSocket is closed now.");
aWebSocket.close(); 一般情况下关闭aWebSocket并且置空即可
aWebSocket = null;
};
WebSocket.close() 方法关闭 WebSocket 连接或连接尝试(如果有的话)。 如果连接已经关闭,则此方法不执行任何操作
aWebSocket.onerror = function(event) {
console.error("WebSocket error observed:", event);
aWebSocket.close(); 一般情况下关闭aWebSocket并且置空即可
aWebSocket = null;
};
(!this.chengeSocket || (this.chengeSocket && this.chengeSocket.readyState !== 1)) && this.changeWebSocket();
没有websocket连接 或者 有websocket连接但是连接状态异常(除了1之外的状态都为异常状态) ==> 都要执行this.changeWebSocket();