国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

微信小程序使用Socket的實例

2024-05-06 16:39:49
字體:
供稿:網(wǎng)友

微信小程序使用Socket的實例

首先,一個小程序同時只能有一個WebSocket連接,如果當(dāng)前已經(jīng)存在一個WebSocket連接,會關(guān)閉當(dāng)前連接,并重新建立一個連接。

其次,如果使用了appID,協(xié)議必須是 wss://...

最近團(tuán)隊用小程序做行情,在連接socket的時候,發(fā)現(xiàn)在還沒有進(jìn)行subscribe的情況下,就直接進(jìn)行了廣播,并且自動關(guān)閉了socket連接,

時間緊迫,抓耳撓腮,遂引用了socket-io(基于小程序的websocket仿寫的socket-io,并非官方的socket-io,傳送門),使用方法:

1、先在utils文件夾粘貼一個io的js

2、然后 npm install wxapp-socket-io

3、config文件夾下新建一個socket.js,對socket連接進(jìn)行封裝,如下:

const io = require('../utils/io.js')let url = 'wss://......'let wsStatus = falselet onSocket = nullexport const connect = function(cb){  if(!onSocket){    onSocket = io(url)    onSocket.on('connect', function (res) {      cb(true,onSocket)      wsStatus = true    })    setTimeout(function(){      if(!wsStatus){        cb(false,onSocket)      }    },10000)  }else{    cb(true,onSocket)  }}

4、在要引用的頁面調(diào)用,全局封裝訂閱方法

let openSocket = require('../../config/socket')let app = getApp()let socket = nullPage({data: {  zl: [[422, 400, 468, 834, 785, 446, 845, 517, 630, 797, 890, 529, 553, 425, 469, 470, 837, 841, 521, 525], [422, 400, 468, 834, 785, 446, 845, 517, 630, 797, 890, 529, 553, 425, 469, 470, 837, 841, 521, 525]]},onLoad: function () {  let that = this;  //socket調(diào)用  openSocket.connect(function (status, ws) {    if (status) {      socket = ws      this.subscribe('zl')//對封裝好對訂閱方法進(jìn)行調(diào)用      socket.on('broadcast', function (msg) {//廣播        console.log("broadcast");        console.log(msg);      })    } else {      alert("socket 連接失敗")    }  });},subscribe: function (type) {  if (socket) {    let eis = this.data[type]    if (eis && eis.length > 0) {      let param = {//僅供參考,根據(jù)接口自行更改        eis: eis.join(',')      }      socket.emit('subscribe', JSON.stringify(param));    }  }}});

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长沙市| 阿城市| 郴州市| 济南市| 黎平县| 沁源县| 五家渠市| 乐平市| 黎城县| 长沙县| 英超| 攀枝花市| 航空| 高唐县| 上虞市| 行唐县| 漳州市| 贺兰县| 海淀区| 琼中| 昌平区| 忻城县| 衢州市| 武乡县| 梅州市| 闸北区| 重庆市| 台前县| 吉木萨尔县| 承德县| 连城县| 普定县| 昆明市| 竹北市| 株洲市| 仪征市| 离岛区| 绥化市| 平罗县| 体育| 蒙阴县|