1、定义socket
var ws = new WebSocket('wss://地址');
2、进行连接,同时每5秒钟发送心跳一次
ws.onopen = () => {
console.log('@open');
// params为与服务端定义好的参数
ws.send(JSON.stringify(params));
this.sendTimmer = setInterval(function () {
ws.send('Hi Server!');
}, 5000);
};
3、获取服务端发送来的信息,进行处理
ws.onmessage = (event) => {
console.log('@message:', event);
try {
const data = JSON.parse(event.data);
if (data.end) {
//约定的单条消息传递结束
} else {
// 进行数据处理
}
} catch (err) {
// 数据错误处理
ws.close();
console.error(err);
}
if (event.data == '[DONE]') {
// 消息传递结束
this.sendTimmer && clearInterval(this.sendTimmer);
ws.close();
}
};
4、关闭socket
ws.onclose = (event) => {
console.log('@close:', event);
this.sendTimmer && clearInterval(this.sendTimmer);
ws.close();
};
5、判断socket发送错误
ws.onerror = (event) => {
console.error('error:', event);
// 进行错误类型判断,展示不同信息
ws.close();
};