實例詳解微信小程序如何使用Socket

    本文主要和大家介紹微信小程序使用Socket的實例的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下,希望能幫助到大家。愛掏網 - it200.com

    微信小程序使用Socket的實例

    首先,一個小程序同時只能有一個WebSocket連接,如果當前已經存在一個WebSocket連接,會關閉當前連接,并重新建立一個連接。愛掏網 - it200.com

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

    最近團隊用小程序做行情,在連接socket的時候,發現在還沒有進行subscribe的情況下,就直接進行了廣播,并且自動關閉了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、在要引用的頁面調用,全局封裝訂閱方法

    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調用
      openSocket.connect(function (status, ws) {
        if (status) {
          socket = ws
          this.subscribe('zl')//對封裝好對訂閱方法進行調用
          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 = {//僅供參考,根據接口自行更改
            eis: eis.join(',')
          }
          socket.emit('subscribe', JSON.stringify(param));
        }
      }
    }
    });
    登錄后復制

    相關推薦:

    HTML5 WebSocket點對點聊天實現方法

    node.js 用socket實現聊天實例分享

    詳解php實現socket推送技術

    以上就是實例詳解微信小程序如何使用Socket的詳細內容,更多請關注愛掏網 - it200.com其它相關文章!

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 色狠狠色噜噜Av天堂一区| 三上悠亚国产精品一区| 久久综合九九亚洲一区| 日韩在线观看一区二区三区| 久久人妻内射无码一区三区| 丰满岳妇乱一区二区三区| 97一区二区三区四区久久| 久久久91精品国产一区二区三区| 精品一区二区久久久久久久网精| 蜜桃无码AV一区二区| 无码人妻视频一区二区三区 | 国产精品无码一区二区三区毛片| 国产一区二区在线看| 黄桃AV无码免费一区二区三区| 狠狠爱无码一区二区三区| 国产一区二区草草影院| 日本视频一区在线观看免费| 精品人妻码一区二区三区| 一区二区三区视频在线| 无码国产精品一区二区免费vr| 中文字幕精品一区二区精品| 在线观看国产区亚洲一区成人 | 日韩毛片基地一区二区三区| 无码人妻久久一区二区三区| 国产成人无码一区二区三区| 国产亚洲一区二区三区在线观看 | 久久精品综合一区二区三区| 一区五十路在线中出| 一区在线观看视频| 国产在线精品一区二区高清不卡 | 中文字幕av一区| 无码精品尤物一区二区三区| 亚洲午夜一区二区三区| 亚洲av色香蕉一区二区三区| 成人精品一区二区不卡视频| 午夜视频在线观看一区| 日本精品一区二区三区在线视频一| 成人在线视频一区| 国产成人无码一区二区三区| 国产精品福利一区二区久久| 怡红院AV一区二区三区|