最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序使用Socket的實例

 更新時間:2017年09月19日 16:40:27   投稿:lqh  
這篇文章主要介紹了微信小程序使用Socket的實例的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下

微信小程序使用Socket的實例

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

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

最近團隊用小程序做行情,在連接socket的時候,發(fā)現(xiàn)在還沒有進行subscribe的情況下,就直接進行了廣播,并且自動關(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連接進行封裝,如下:

const io = require('../utils/io.js')
let url = 'wss://......'
let wsStatus = false
let onSocket = null
export 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 = null
Page({
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')//對封裝好對訂閱方法進行調(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)文章

  • js實現(xiàn)簡單擲骰子效果

    js實現(xiàn)簡單擲骰子效果

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)簡單擲骰子效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JS數(shù)組去重常用方法實例小結(jié)【4種方法】

    JS數(shù)組去重常用方法實例小結(jié)【4種方法】

    這篇文章主要介紹了JS數(shù)組去重常用方法,結(jié)合實例形式總結(jié)分析了4種常用的數(shù)據(jù)去重實現(xiàn)方法,涉及javascript數(shù)組的遍歷、判斷、追加等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • JavaScript 計算誤差的解決

    JavaScript 計算誤差的解決

    本文主要介紹了JavaScript 計算誤差的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • JavaScript 高仿真可控彈簧振子實現(xiàn)代碼

    JavaScript 高仿真可控彈簧振子實現(xiàn)代碼

    我剛學(xué)JavaScript ,看見一些牛人寫了許多特效,我也花了一天寫了一個彈簧振子,完全獨創(chuàng),沒有借鑒任何人的代碼.
    2009-10-10
  • JS實現(xiàn)手風(fēng)琴特效

    JS實現(xiàn)手風(fēng)琴特效

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)手風(fēng)琴特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • JavaScript中三個等號和兩個等號的區(qū)別(== 和 ===)淺析

    JavaScript中三個等號和兩個等號的區(qū)別(== 和 ===)淺析

    javascript中比較運算符'=='與'==='可能大家用的比較多,但是大家對他的區(qū)別不是很清楚,接下來小編給大家介紹下js中三個等號和兩個等號的區(qū)別(== 和 ===),感興趣的朋友可以參考下
    2016-09-09
  • js實現(xiàn)可折疊展開的手風(fēng)琴菜單效果

    js實現(xiàn)可折疊展開的手風(fēng)琴菜單效果

    這篇文章主要介紹了js實現(xiàn)可折疊展開的手風(fēng)琴菜單效果,通過簡單的樣式變換控制菜單項的展開與折疊功能,非常簡單實用,需要的朋友可以參考下
    2015-09-09
  • Javascript別踩白塊兒(鋼琴塊兒)小游戲?qū)崿F(xiàn)代碼

    Javascript別踩白塊兒(鋼琴塊兒)小游戲?qū)崿F(xiàn)代碼

    游戲唯一的一個規(guī)則,我們只需要不斷踩著黑色方塊前進即可,這里根據(jù)方向鍵來踩白塊,在規(guī)定的時間內(nèi),每走一次分?jǐn)?shù)加100.下面通過本文給大家分享Javascript別踩白塊兒(鋼琴塊兒)小游戲?qū)崿F(xiàn)代碼,一起看看吧
    2017-07-07
  • JS 頁面計時器示例代碼

    JS 頁面計時器示例代碼

    計時器效果想必大家都見到過吧,其實使用js可以很輕松的實現(xiàn),下面有個不錯的示例,感興趣的朋友可以參考下
    2013-10-10
  • JavaScript中window.open用法實例詳解

    JavaScript中window.open用法實例詳解

    這篇文章主要介紹了JavaScript中window.open用法,實例分析了window.open方法的功能、參數(shù)及使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04

最新評論

东乡族自治县| 南京市| 兰西县| 灵寿县| 宜兰市| 拉孜县| 华容县| 缙云县| 竹山县| 甘南县| 宁河县| 满洲里市| 汝州市| 偏关县| 禹州市| 东至县| 张家界市| 奉化市| 兴和县| 黔南| 泽州县| 新竹市| 新建县| 南乐县| 昆山市| 冀州市| 张家口市| 阿拉尔市| 武邑县| 岗巴县| 万州区| 昆山市| 天水市| 山丹县| 奉新县| 古丈县| 乐陵市| 汶上县| 扎兰屯市| 五指山市| 兰考县|