Heim >WeChat-Applet >Mini-Programmentwicklung >Detailliertes Beispiel für die Verwendung von Socket im WeChat-Applet

Detailliertes Beispiel für die Verwendung von Socket im WeChat-Applet

小云云
小云云Original
2018-05-29 10:45:406094Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich relevante Informationen über die Verwendung von Socket im WeChat-Applet vor. Ich hoffe, dass dieser Artikel Ihnen helfen kann.

Beispiel für ein WeChat-Miniprogramm mit Socket

Erstens kann ein Miniprogramm nur eine WebSocket-Verbindung gleichzeitig haben, sofern bereits eine vorhanden ist Wenn Sie eine WebSocket-Verbindung herstellen, wird die aktuelle Verbindung geschlossen und die Verbindung erneut hergestellt.

Zweitens, wenn appID verwendet wird, muss das Protokoll wss:// sein...

Kürzlich verwendete das Team ein kleines Programm, um bei der Verbindung mit dem Socket Marktnotierungen zu erstellen Es wurde festgestellt, dass kein Abonnement durchgeführt wurde, die Übertragung wurde direkt durchgeführt und die Socket-Verbindung wurde automatisch geschlossen.

Die Zeit war knapp und ich kratzte mir am Kopf, also zitierte ich socket-io (. eine Websocket-Imitation basierend auf einem kleinen Programm, socket-io, das kein offizieller Socket ist) -io, Portal), Verwendungsmethode:

1 Fügen Sie zuerst ein io js in den Utils-Ordner ein

2. Dann npm install wxapp-socket-io

3. Erstellen Sie eine neue socket.js im Konfigurationsordner und kapseln Sie die Socket-Verbindung wie folgt:

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. Rufen Sie die globale Kapselungsabonnementmethode auf der Seite auf, auf die verwiesen werden soll

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));
    }
  }
}
});

Verwandte Empfehlungen:

HTML5 WebSocket Punkt-zu-Punkt-Chat-Implementierungsmethode

node.js verwendet Socket, um die gemeinsame Nutzung von Chat-Instanzen zu implementieren

Detaillierte Erläuterung der Socket-Push-Technologie in PHP

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für die Verwendung von Socket im WeChat-Applet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn