小程序连接websocket

这里是 我在app.js里定义了wxst 全局的
在这里插入图片描述

let app = getApp()
Page({
 onReady: function () {
	app.globalData.wxst=wx.connectSocket({
      url: 'wss://********',//websocket地址
      method: 'GET',
      success: function (res) {
        console.log('WebSocket连接创建', res)
      },
    })
    app.globalData.wxst.onOpen((res)=>{
      console.log('WebSocket 已连接')
      that.sendMessage()
    })
    //断开时的动作
    app.globalData.wxst.onClose(() => {
      console.log('WebSocket 已断开')
    })
    app.globalData.wxst.onError(function(res){
      console.log('WebSocket连接打开失败,请检查!')
    })
    app.globalData.wxst.onMessage(function(res) {
      // console.log('wxst收到服务器内容:')
    })
  }
//心跳
  heartCheck:function(obj){
    let heartCheckTime=setInterval(()=>{
      if (app.globalData.wxst.readyState === 1) {
        app.globalData.wxst.send({
          data: '{"method":"server.ping","params":{},"id":2}'
        })
      }
    },5000)
    if(obj){
      clearInterval(heartCheckTime)
    }
  },
  //发送消息函数
  sendMessage() {
    if (app.globalData.wxst.readyState === 1) {
    //自定义的发给后台识别的参数 ,我这里发送的是name
    //readyState:
    //0: 请求未初始化
	//1: 服务器连接已建立
	//2: 请求已接收
	//3: 请求处理中
	//4: 请求已完成,且响应已就绪
    let that = this
    console.log(this.data.socketStatus)
      let data='{"method":"join.room","params":{"rid":"'+that.data.liveid+'", "uid":"'+that.data.user_id+'"},"id":1}'
      app.globalData.wxst.send({
        data:data,
        success:()=>{
          console.log('发送信息成功')
        }
      })
    that.heartCheck()
    
    }
  },
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值