Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

225
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!