Red de conocimiento informático - Conocimiento informático - ¿Cómo configurar el nombre de dominio del socket del mini programa?

¿Cómo configurar el nombre de dominio del socket del mini programa?

En cuanto a la elección del nombre de dominio y el servidor, depende de si el productor del subprograma WeChat necesita estrictamente llevar a cabo un desarrollo vinculante. Si no existe ninguna disposición para el desarrollo vinculante, puede elegir el nombre de dominio y el servidor. De forma independiente, como este en Alibaba Cloud o iisp tiene servicios relacionados.

Método específico:

Primero pegue un io js en la carpeta utils

Luego npm install wxapp-socket-io

config Crear un nuevo socket.js en la carpeta para encapsular la conexión del socket, de la siguiente manera:

const io = require('../utils/io.js')

let url = 'wss://...'

let wsStatus = false

let onSocket = null

exportar const connect = function(cb){

if(!onSocket){

onSocket = io(url)

onSocket.on('conectar', función (res) {

cb(true, onSocket)

wsStatus = true

})

setTimeout(function(){

if(!wsStatus) {

cb(false, onSocket)

}

}, 10000)

}else{

cb(true, onSocket)

}

}

Llame a la página a la que se hará referencia y encapsule el método de suscripción globalmente

let openSocket = require('../../config/socket')

let app = getApp()

let socket = null

Page( {

datos: {

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: función () {

let that = this;

//llamada de socket

openSocket .connect(function (status, ws) {

if (status) {

socket = ws this.subscribe('zl')// Encapsula la llamada al método de suscripción

socket.on('broadcast', function (msg) {//Broadcast

console.log("broadcast");

console.log (msg);

})

} else {

alert("falló la conexión del socket")

}

} );

}, suscríbete: función (tipo) {

if (socket) {

>let eis = this.data[type]

if (eis amp; amp; eis.length gt; 0) {

let param = {//Solo como referencia, según a La interfaz cambia sola

eis: eis.join(',')

}

socket.emit('subscribe', JSON.stringify(param )) ;

}

}

}});

Nota: Crear una conexión WebSocket solo puede tener un subprograma WeChat; Una conexión WebSocket Si actualmente existe una conexión WebSocket, la conexión se cerrará automáticamente y se creará una nueva conexión WebSocket.