Maison >Applet WeChat >Développement de mini-programmes >Exemple détaillé d'utilisation de Socket dans l'applet WeChat
Cet article vous présente principalement des informations pertinentes sur les exemples d'utilisation de Socket dans l'applet WeChat. J'espère que cet article pourra vous aider. Les amis dans le besoin pourront s'y référer.
Exemple de mini programme WeChat utilisant Socket
Tout d'abord, un mini programme ne peut avoir qu'une seule connexion WebSocket à la fois s'il y en a déjà. une connexion WebSocket, il fermera la connexion actuelle et rétablira une connexion.
Deuxièmement, si appID est utilisé, le protocole doit être wss://...
Récemment, l'équipe a utilisé un petit programme pour faire des cotations de marché lors de la connexion au socket. a été constaté qu'aucun abonnement n'avait été effectué. Dans ces circonstances, la diffusion a été effectuée directement et la connexion socket a été automatiquement fermée
Le temps était compté et je me grattais la tête, j'ai donc cité socket-io (. une imitation websocket basée sur un petit programme, socket-io, qui n'est pas un socket officiel) -io, portail), méthode d'utilisation :
1. Collez d'abord un io js dans le dossier utils
2. Ensuite, npm install wxapp-socket-io
3. Créez un nouveau socket.js sous le dossier de configuration et encapsulez la connexion socket, comme suit :
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. Appelez la méthode d'abonnement à l'encapsulation globale sur la page à référencer
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)); } } } });
Recommandations associées :
Méthode d'implémentation de chat point à point HTML5 WebSocket
node.js utilise socket pour implémenter le partage d'instances de chat
Explication détaillée de la technologie socket push en PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!