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

380
Views
¿Cómo tiene SocketIO eventos genéricos .on() para cualquier evento dado?

Cuando se usa SocketIO, la recepción de cualquier mensaje se realiza de la siguiente manera:

 socket.on("eventname", function() { // Whatever }

Pero "eventname" puede ser literalmente cualquier cadena de texto.

¿Cómo lograron eso? ¿Cómo tienen un detector de eventos para todas y cada una de las cadenas posibles? ¿Agregan detectores de eventos A medida que llegan los mensajes?

Intenté leer el código fuente de SocketIO, pero se me pasó por alto.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

La respuesta se puede encontrar mirando la documentación:

Del código fuente de Socket.IO :

 socket.on(eventName, callback) (inherited from EventEmitter)

Desde aquí :

Internamente, EventEmitter realiza un seguimiento de un objeto llamado this.events que asigna nombres de eventos a matrices de controladores de eventos. Cuando un programa llama al método on con un nombre de evento y un controlador de eventos, EventEmitter agrega el controlador a la matriz para ese nombre de evento.

Básicamente, el socket mantiene un mapa de eventos, codificado por nombre, en una serie de funciones que se llaman cuando se recibe ese evento.

Y si observa la documentación de EventEmitter.on , verá que es bastante tonto: no verifica que no esté agregando la misma función dos veces:

.on() -> Agrega la función de escucha al final de la matriz de escuchas para el evento llamado eventName . No se realizan comprobaciones para ver si el oyente ya se ha agregado. Varias llamadas que pasan la misma combinación de eventName y listener darán como resultado que el listener se agregue y se llame varias veces.

over 4 years ago · Santiago Trujillo 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!