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

192
Views
¿Hay alguna forma de detener la entrada del servidor cuando el cliente no está enfocado?

Tengo un juego en línea multijugador que estoy creando, usa node.js y la comunicación entre el servidor y el cliente es la siguiente:

Al principio, todos los modelos necesarios se envían desde el servidor al cliente cuando el cliente lo solicita. A partir de ese momento, el servidor envía a todos los clientes conectados todos los datos de posición 60 veces por segundo. A partir de ahora, lo único que el cliente envía al servidor son las entradas del teclado, aparte de que hay un chat que funciona bien cuando tanto el cliente como el servidor están bien, pero ese es otro problema.

El servidor gestiona toda la física y el cliente gestiona todo el renderizado.

El problema es que, además del hecho de que, en primer lugar, ni siquiera funciona si la velocidad de envío del servidor es de 60 por segundo, sino solo en la inicialización del cliente, ya que cuando el cliente termina de unirse, puede pasar de 1 o 5 o 10 vuelve a 60, es que cuando funciona, y la pestaña del navegador se desenfoca, todos los cálculos y la recepción del servidor se detienen. No sé por qué, pero causa un problema cuando la página vuelve a enfocarse, ya que cuando la página vuelve a enfocarse, el juego procesa todo lo que sucedió a una velocidad rápida mientras el cliente estaba fuera. Esto causa problemas, ya que puede tomar un tiempo antes de que esté listo para usarse nuevamente, y cualquier entrada tiene un efecto magnificado y se coloca al final del rebobinado.

Intenté hacer que dejara de mostrarse mientras la pantalla estaba apagada, pero eso no funcionó. No sé cómo solucionar el problema, además de hacer que el servidor verifique a todos y cada uno de los jugadores para ver si está activo o no antes de enviar los archivos individualmente, lo que no parece ser una buena solución. Preferiría poder seguir usando el método "io.emit".

about 4 years ago · Juan Pablo Isaza
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!