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

227
Vistas
Socket.io - límite de conexiones por dirección IP

¿Hay alguna forma de limitar la cantidad de conexiones a un servidor socket.io desde la misma dirección IP? Por ejemplo, podría establecer el límite en 3, y luego, cuando alguien abriera 4 pestañas para unirse al servidor, tres de ellas se conectarían y la cuarta o cualquiera posterior no se conectaría.

No estoy tratando de limitar el número total de conexiones, solo para una persona.

¿Cuál es la mejor manera de hacer esto?

Editar: los servidores se ejecutan en node.js y el cliente está en js en un navegador web

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Por supuesto, si el usuario tuviera VPN, la dirección IP estaría deshabilitada. Pero aún así, podría haber otra forma de hacer esto.

> Uno: cada vez que un usuario se une a la página, dale una identificación y guárdala en una variable del lado del servidor.

 socket.on('connection', () => { users++ });

que sumará el número de usuarios conectados.
> Dos: cree una identificación única y cancele los " users++ " para que el usuario no se cuente nuevamente.

 var users = 0; var userArray = []; var ip = /* Get the IP address here */; socket.on('connection', () => { if (users >= 3) { // The max users have arrived. (3 is the amount of users). // Do what you want to block them here. } // Check if the user's IP is equal to one in the array if (userArray.indexOf(ip) > -1) { // Cancel adding them to number of users return; } else { // Add IP to the array userArray.push(ip); users++; // Do what you want here. } });

Si está utilizando Node.js para su servidor Socket, le recomiendo obtener la IP de esta manera:

 var ip = (req.headers['x-forwarded-for'] || '').split(',').pop().trim();
about 4 years ago · Juan Pablo Isaza Denunciar
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