fm:
大概就是初始化先建立一个连接,先判断是否已经连接 ,不过一般就直接会往下走,直接就去走openConnection这个方法了,为了确保已经断开连接了,先去关闭连接这个方法,然后再去监听这个服务器返回的消息,如果建立连接后服务器有返回的消息,就先去接收这个消息,将消息展示在聊天框,在每一次接收的时候都会跟后台做一个绑定并触发心跳机制说白了就是加一个定时器,确保客户端与服务端是存活的,离开此页面关闭连接
onShow(){
this.checkOpenSocket()
},
// 关闭websocket【必须在实例销毁之前关闭,否则会是underfined错误】
beforeDestroy() {
this.uplade()
},
methods:{
// 判断是否已连接
checkOpenSocket () {
let self = this;
uni.sendSocketMessage({
data: 'ping',
success: (res) => {
return;
},
fail: (err) => { // 未连接打开websocket连接
self.openConnection();
}
});
},
openConnection() { // 打开连接
uni.closeSocket(); // 确保已经关闭后再重新打开
uni.connectSocket({
// 【非常重要】必须确保你的服务器是成功的