var sotk = null;
var socketOpen = false;
var wsbasePath = "ws://开发者服务器 wss 接口地址/";
//开始webSocket
webSocketStart(e){
sotk = wx.connectSocket({
url: wsbasePath,
header: { 'content-type': 'application/x-www-form-urlencoded' },
method: "POST",
success: res => {
console.log('小程序连接成功:', res);
},
fail: err => {
console.log('出现错误啦!!' + err);
wx.showToast({
title: '网络异常!',
})
}
})
this.webSokcketMethods();
},
//监听指令
webSokcketMethods(e){
let that = this;
sotk.onOpen(res => {
socketOpen = true;
console.log('监听 WebSocket 连接打开事件。', res);
})
sotk.onClose(onClose => {
console.log('监听 WebSocket 连接关闭事件。', onClose)
socketOpen = false;
})
sotk.onError(onError => {
console.log('监听 WebSocket 错误。错误信息', onError)
socketOpen = false
})
sotk.onMessage(onMessage => {
var data = JSON.parse(onMessage.data);
console.log('监听WebSocket接受到服务器的消息事件。服务器返回的消息',data);
})
},
//发送消息
sendSocketMessage(msg) {
let that = this;
if (socketOpen){
console.log('通过 WebSocket 连接发送数据', JSON.stringify(msg))
sotk.send({
data: JSON.stringify(msg)
}, function (res) {
console.log('已发送', res)
})
}
},
//关闭连接
closeWebsocket(str){
if (socketOpen) {
sotk.close(
{
code: "1000",
reason: str,
success: function () {
console.log("成功关闭websocket连接");
}
}
)
}
},