小程序中的websocket 使用


上个礼拜小程序用https,这礼拜要用websocket,好在小程序已经很好的支持websocket了 ,这里只是需要简单的封装下就可以,

先在app.js 中声明并初始化以下

 
 

startWebSocket: function () {

 
 

var that = this;
that.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)
})

 
 


})

 
 

 

 
 

},

 

 然后在新建一个辅助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 }

使用的话也很简单

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

结束;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM