小程序中的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