这几天值班忙的不要不要,人工智能这块看的都是零零散散,今天就来写写小程序的实时通讯吧。
小程序端://这个是连接lianjie:function(){ var socketOpen = false//注册信息var data = { appid: "77494ad321405fb340e2d1a664850954", sid: "123" }var socketMsgQueue = JSON.stringify(data)console.log(socketMsgQueue)//建立连接wx.connectSocket({ url: "wss://websck.eloeg.wang:20001",})//wx.onSocketOpen(function (res) { console.log('WebSocket连接已打开!') socketOpen = true console.log('数据发送中' + socketMsgQueue) sendSocketMessage(socketMsgQueue)})function sendSocketMessage(msg) { if (socketOpen) { wx.sendSocketMessage({ data: msg }) } else { socketMsgQueue.push(msg) }}wx.onSocketError(function (res) { console.log('WebSocket连接打开失败,请检查!')})wx.onSocketMessage(function (res) { console.log('收到服务器内容:' + JSON.stringify(res))})
},
//模拟发送数据,因为在建立连接时给自己注册的用户sid为:123,发送数据也发送的是给sid为123的用户即自己,数据为ok12fasong:function(){wx.request({ url: 'https://wss.md.eloeg.wang/erweima/fasong.php', method: 'GET', header: { 'content-type': 'application/json' }, data: { sid:'123', data:"ok12" }, success: function (res) { console.log(res) }})
}
效果如图:后端的php代码:朋友帮助弄了个workerman的接口,直接进行调用了。所以看起来很简单,这个sid是要给用户进行标记用,要给哪个用户发消息,就在发送时将其sid传送至后台。