小程序websocket 心跳机制

  • Post author:
  • Post category:小程序


1.心跳机制作用

一直不间断的与服务器进行通信,确保你们是连接的状态。例如你主动发送消息HI,服务器回复你HA,如果在规定的时间内没收到消息,则把脸socket关闭,重新建立连接

2.使用

const webSocket = require('../../../utils/webSocket.js');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    msg: '',
  },

  /**
    * 生命周期函数--监听页面加载
    */
  onLoad: function(options) {

  },

  /**
    * 生命周期函数--监听页面初次渲染完成
    */
  onReady: function() {

  },

  /**
    * 生命周期函数--监听页面显示
    */
  onShow: function() {
    this.contentWebSocket();
  },

  /**
    * 生命周期函数--监听页面隐藏
    */
  onHide: function() {
    webSocket.closeSocket();
    this.unsetnewmessage();
  },

  /**
    * 生命周期函数--监听页面卸载
    */
  onUnload: function() {
    webSocket.closeSocket();
    this.unsetnewmessage();
  },

  contentWebSocket: function () {
    let _this = this;
    webSocket.connectSocket({
      url: url,
      success: function (res) {
        wx.hideLoading();
      }
    });
    webSocket.onSocketMessageCallback = _this.onSocketMessageCallback;
  },

  /**
    * 接收消息回调
    */
  onSocketMessageCallback: function(data) {

  },

  /**
    * 发送消息回调
    */
  sendMessage: function(e) {
    webSocket.sendSocketMessage({
      msg: JSON.stringify(data), // data JSON格式的发送内容
      success: function (res) {
        // 消息输入框延时50毫秒处理,如果不是聊天类的功能可以不需要此部分代码
        setTimeout(function () {
          _this.setData({
            msg: ''
          });
        },50)
        return false;
      },
      fail: function (res) {
        console.log(res);
        return false;
      }
    });
  }
})



版权声明:本文为qq_42802778原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。