什么是websoket?
这里就不做介绍了,有兴趣的可以看看阮一峰老师的websoket介绍
小程序中使用websoket
小程序开发文档有介绍websoket的使用
推送消息: stompjs + websoket进行实现, stompjs的官网介绍
从 bootcdn上下载stomp.min.js,导入小程序工程,利用小程序的api进行简单的封装
export default function webSocket () {
let socketOpen = false
let socketMsgQueue = []
// 发送数据
function sendSocketMessage (msg) {
console.log(msg)
if (socketOpen) {
wx.sendSocketMessage({ // 通过 WebSocket连接发送数据
data: msg
})
} else {
socketMsgQueue.push(msg)
}
}
let ws = {
send: sendSocketMessage
}
// 创建一个 WebSocket 连接
wx.connectSocket({
// url: 'wss://example.qq.com'
})
// 监听 WebSocket 连接打开事件
wx.onSocketOpen((res) => {
socketOpen = true
ws.onopen()
})
wx.onSocketMessage(res => {
ws.onmessage(res)
// 推送成功处理数据
})
// 引入stomp.min.js
let Stomp = require('../libs/stomp.min.js').Stomp
Stomp.setInterval = (interval, f) => {
return setInterval(interval, f)
}
Stomp.clearInterval = (id) => {
return clearInterval(id)
}
//
var stompClient = Stomp.over(ws)
stompClient.connect({}, sessionId=> {
// 订阅和接收消息
stompClient.subscribe(url, (body, headers) => {
console.log(body)
})
})
}
转载请注明出处: https://blog.csdn.net/sinat_36127729/article/details/85062515