Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

139
Vistas
Controlando múltiples servidores en Socket IO

Actualmente estoy desarrollando un sitio web local donde las personas pueden escanear un código QR en su mesa, para que ingresen el nombre del canal de contracción que desean ver en la pantalla junto a ellos, en un sitio web que se abre.

Como soy bastante nuevo en la programación, fue difícil, pero encontré y aprendí SocketIO, lo que me permitió escalar el proyecto a cada pantalla que tenemos.

Pero el problema ahora es que no puedo Controlar/anular los diferentes servidores en diferentes puertos.

Los servidores están configurados así:
10.10.30.36/Cliente: 4000
10.10.30.36/Pantalla: 4000

10.10.30.36/Cliente: 4001
10.10.30.36/Pantalla: 4001

Entonces 4000 puede interactuar, pero 4000 no puede interactuar con 4001. Estoy tratando de crear una página de administración que pueda anular todas las pantallas.

He intentado diferentes soluciones a este problema durante 35 horas y aún no he encontrado ninguna.

Mi código está configurado de esta manera: (He intentado ejecutar los diferentes servidores usando una matriz de puertos y una declaración forEach en su lugar, pero encontré este enfoque para darme un poco más de control).

 var express = require("express"); var socket = require("socket.io"); var app = express(); app.use(express.static(__dirname + '/public')); app.use("/screen", express.static(__dirname + '/screen')); app.use("/admin", express.static(__dirname + '/admin')); function RUN() { function RUN4000() { var port2 = socket(port= app.listen(4000)); RUN2(port2) } function RUN4001() { var port2 = socket(port= app.listen(4001)); RUN2(port2) } RUN4000(); RUN4001(); function RUN2(port2) { port2.on("connection", function test(socket){ console.log("Made socket connection") ///If the Client-page sends a Twitchname, run Run(Twitch Name)// socket.on("Twitch", function(data){ run(data) }); }); function run(data){ console.log("Recived Message"); port2.sockets.emit("restart browser", data); //Sends the Twitch Name to the Screen-page setTimeout(function(){ port2.sockets.emit("Twitch", data); }, 1000); } } } RUN()

He intentado detener los servicios con una especie de if (response from adminpage == true) { return false; } else { RUN4001; RUN 4000; } , pero los servidores no se detendrán incluso si la declaración es verdadera. También probé un enfoque en el que la página de administración estaba en el puerto 5000, separada y luego pasé el nombre de Twitch a las funciones a RUN2, pero tampoco funcionó.

He estado atascado en este paso durante mucho tiempo, ¿alguien tiene alguna idea sobre cómo puedo controlar los diferentes puertos/servidores desde una página de administración?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda