[Programme WeChat Mini] Utilisez WebSocket pour effectuer des opérations d'abonnement, surveiller les connexions et recevoir des événements de messages du serveur

Pour utiliser WebSocket pour les opérations d'abonnement dans l'applet WeChat, vous pouvez wx.connectSocketcréer une connexion WebSocket via la méthode et effectuer l'abonnement et le traitement des données via les fonctions de traitement d'événements associées.

Voici un exemple de code qui illustre l'utilisation de WebSocket pour l'abonnement dans l'applet WeChat :

Créer une connexion WebSocket


wx.connectSocket({
    
    
  url: 'wss://your-websocket-url',
  success: function() {
    
    
    console.log('WebSocket 连接创建成功');
  },
  fail: function(err) {
    
    
    console.error('WebSocket 连接创建失败', err);
  }
});

Écoutez l'événement d'ouverture de connexion WebSocket


wx.onSocketOpen(function() {
    
    
  console.log('WebSocket 连接已打开');

  // 发送订阅消息
  wx.sendSocketMessage({
    
    
    data: 'subscribe',
    success: function() {
    
    
      console.log('订阅消息发送成功');
    },
    fail: function(err) {
    
    
      console.error('订阅消息发送失败', err);
    }
  });
});

Écoutez l'événement de message que WebSocket reçoit du serveur



wx.onSocketMessage(function(res) {
    
    
  console.log('收到服务器的消息', res.data);

  // 处理接收到的消息
  var message = JSON.parse(res.data);
  // 在这里可以进行相应的数据处理和展示
});

Écoutez les événements d'erreur WebSocket

wx.onSocketError(function(err) {
    
    
  console.error('WebSocket 连接发生错误', err);
});

Écoutez les événements de fermeture de connexion WebSocket

wx.onSocketClose(function() {
    
    
  console.log('WebSocket 连接已关闭');
});

Dans le code ci-dessus, nous utilisons d'abord wx.connectSocketla méthode pour créer une connexion WebSocket et effectuer le traitement correspondant dans les fonctions de rappel de réussite et d'échec. Ensuite, wx.onSocketOpenécoutez l'événement d'ouverture de connexion WebSocket et envoyez un message d'abonnement une fois la connexion établie. Ensuite, wx.onSocketMessagel'événement de message du serveur est reçu en écoutant WebSocket et le message reçu est traité dans la fonction de rappel. Enfin, écoutez les événements d’erreur et de fermeture de connexion via wx.onSocketErroret .wx.onSocketClose

Notez que vous devez 'wss://your-websocket-url'remplacer par l'adresse réelle de votre serveur WebSocket. Dans le même temps, en fonction des besoins réels, vous pouvez également effectuer le traitement et l'affichage des données correspondants en fonction des messages reçus.

Encapsulé en tant que WebSocketClient

Si vous souhaitez encapsuler l'utilisation de WebSocket dans une classe JavaScript pour la réutiliser et la gérer à plusieurs endroits, vous pouvez vous référer à l'exemple de code suivant :

class WebSocketClient {
    
    
  constructor(url) {
    
    
    this.url = url;
  }

  connect() {
    
    
    wx.connectSocket({
    
    
      url: this.url,
      success: () => {
    
    
        console.log('WebSocket 连接创建成功');
      },
      fail: (err) => {
    
    
        console.error('WebSocket 连接创建失败', err);
      }
    });

    wx.onSocketOpen(() => {
    
    
      console.log('WebSocket 连接已打开');
      this.subscribe();
    });

    wx.onSocketMessage((res) => {
    
    
      console.log('收到服务器的消息', res.data);
      this.handleMessage(res.data);
    });

    wx.onSocketError((err) => {
    
    
      console.error('WebSocket 连接发生错误', err);
    });

    wx.onSocketClose(() => {
    
    
      console.log('WebSocket 连接已关闭');
    });
  }

  subscribe() {
    
    
    wx.sendSocketMessage({
    
    
      data: 'subscribe',
      success: () => {
    
    
        console.log('订阅消息发送成功');
      },
      fail: (err) => {
    
    
        console.error('订阅消息发送失败', err);
      }
    });
  }

  handleMessage(data) {
    
    
    // 处理接收到的消息
    var message = JSON.parse(data);
    // 在这里可以进行相应的数据处理和展示
  }
}

// 使用示例
var websocket = new WebSocketClient('wss://your-websocket-url');
websocket.connect();

Dans le code ci-dessus, nous avons créé une WebSocketClientclasse JavaScript nommée qui constructorreçoit l'adresse du serveur WebSocket en tant que paramètre via la méthode et la stocke en tant que propriété d'instance. Ensuite, la méthode est définie connectpour créer une connexion WebSocket et effectuer le traitement des abonnements et des messages dans la fonction de gestion des événements correspondante. Dans le même temps, nous avons également ajouté subscribedes méthodes d'envoi de messages d'abonnement et handleMessagedes méthodes de traitement des messages reçus.

Je suppose que tu aimes

Origine blog.csdn.net/gao511147456/article/details/131883616
conseillé
Classement