1、正常连接1个情况写法应该是
const matching = (obj => {
//可以把这段代码直接放到page的onLoad中,或者自己定义一个事件
wx.connectSocket({
url: `wss://www.***.com`
})
wx.onSocketOpen(function(res) {
console.log('WebSocket连接已打开!')
wx.sendSocketMessage({
data: JSON.stringify({
type: "MATCH",
data: {
...obj
}
}),
})
})
wx.onSocketMessage(function(res) {
console.log('服务器发送的消息:');
let data = JSON.parse(res.data);
if(data.code===0){
}
// 关闭socket连接 可以不使用这个,这里是程序的逻辑只用一个事件,就关闭了。
// wx.closeSocket();
})
wx.onSocketClose(function(res) {
console.log('WebSocket连接已关闭!')
})
})
2、但是如果连接2个及以上,想重新声明一个方法,复制一遍则不行。根据官服文档的提示
应该把连接重新声明一下
const matching = (obj => {
//可以把这段代码直接放到page的onLoad中,或者自己定义一个事件
let matchSocket = wx.connectSocket({
url: `wss://www.***.com`,
success: function(res) {
console.log(res)
},
fail: function(err) {
console.log(err)
}
})
matchSocket.onOpen(function(res) {
console.log('匹配WebSocket连接已打开!')
matchSocket.send({
data: JSON.stringify({
type: "MATCH",
data: {
...obj
}
}),
})
})
matchSocket.onMessage(function(res) {
console.log('匹配服务器发送的消息:',res);
let data = JSON.parse(res.data);
if (data.code === 0) {
} else {
}
// 关闭socket连接 可以不使用这个,这里是程序的逻辑只用一个事件,就关闭了。
// wx.closeSocket();
})
matchSocket.onClose(function(res) {
console.log('匹配WebSocket连接已关闭!')
})
})
const notice = () => {
// 连接
var noticeSocket = wx.connectSocket({
url: `wss://www.***.com/`,
success: function(res) {
console.log(res)
},
fail: function(err) {
console.log(err)
}
})
console.log(noticeSocket)
noticeSocket.onOpen(function(res) {
console.log('消息WebSocket连接已打开!')
noticeSocket.send({
data: JSON.stringify({
type: "HEART",
}),
})
})
// 发送消息
noticeSocket.onMessage(function(res) {
console.log('消息服务器发送的消息:', res);
let data = JSON.parse(res.data);
if (data.code === 0) {}
// 关闭socket连接 可以不使用这个,这里是程序的逻辑只用一个事件,就关闭了。
// wx.closeSocket();
})
noticeSocket.onClose(function(res) {
console.log('消息WebSocket连接已关闭!')
})
}