美文网首页
小程序中的websocket

小程序中的websocket

作者: 米奇小林 | 来源:发表于2018-01-26 11:03 被阅读432次

1.这里简单的封装下,先在app.js 中声明并初始化以下:

startWebSocket: function () {
      var that = this;
      hat.WebSocketInit()
      wx.onSocketError(function () {
 })
wx.onSocketMessage(function (data_) {
      that.socketOperation(data_)
})
wx.onSocketClose(function (res) {
    that.WebSocketInit()
  })
},

//连接websocket
WebSocketInit: function () {
        wx.connectSocket({
        url: this.data.wws,
        data: {},
        method: 'GET',
        success: function (res) {
        console.log("connectSocket 成功")
    },
    fail: function (res) {
        console.log("connectSocket 失败")
    }
})
wx.onSocketOpen(function () {
// callback
    var mCmd = { "cmd": "connect.Connect", "data": {} }
    wx.sendSocketMessage({
    data: JSON.stringify(mCmd),
    success: function (res) {
    console.log("sendSocketMessage 成功")
},
fail: function (res) {
        console.log("sendSocketMessage 失败")
    }
})

wx.onSocketMessage(function (data) {
      console.log("onSocketMessage ", data)
    })
})

},

2.然后在新建一个辅助js来发送和接收数据:

function sendMessage() {

    var mCmd = { "cmd": "connect.getWlList", "data": { "mdd": "370600" } }
    wx.sendSocketMessage({
          data: JSON.stringify(mCmd),
          success:function(res){
      }
  })

}

function resiverMessage(context) {
    wx.onSocketMessage(function (data) {
    context.onMessage(JSON.parse(data.data)) //这里定义一个onMessage方法,用于每个页面的回调
}) } module.exports = { formatNumber: formatNumber, judge: judge, sendMessage: sendMessage, resiverMessage: resiverMessage }

3.开始使用:

  onMessage: function (res) {
    this.setData({ data: res.data });
    console.log(res);
   
  },
  onLoad: function (options) {
    app.data.util.sendMessage();
    app.data.util.resiverMessage(this)

相关文章

网友评论

      本文标题:小程序中的websocket

      本文链接:https://www.haomeiwen.com/subject/vwpiaxtx.html