Node.js - Socket.io repite la 'io.on (' conexión ") una y otra

D. perro:

Por lo tanto, estoy todavía en la fase experimental de Socket.io, pero simplemente no puedo entender por qué mi código está haciendo esto. Por lo tanto, tengo el código de abajo y cuando CONSOLE.LOG el código, se repite el de la conexión incluso cuando sólo hay una conexión. ¿Sabe usted una solución?

io.on('connnection', (socket) => {
    console.log("A new user is connected.")
})

Lado del cliente:

<script src="/socket.io/socket.io.js"></script>
<script>
    var socket = io()
</script>

Node.js consola:

A new user is connected.
A new user is connected.
A new user is connected.
A new user is connected.
A new user is connected.
A new user is connected.
A new user is connected.
...

(Nota: sólo hay una conexión, y ya he limpiado el cashe navegador)

jfriend00:

Estas son algunas de las posibles razones de socket.io conectar una y otra vez:

  1. Sus versiones de cliente y servidor Socket.IO no coinciden y esto provoca un fallo de conexión y un reintento inmediato.

  2. Se está ejecutando con cierta infraestructura (como un proxy o un equilibrador de carga) que no está configurado correctamente para permitir conexiones WebSocket duradera.

  3. Se está ejecutando un servidor agrupado sin conexiones WebSocket pegajosas.

  4. Usted ha puesto el lado del servidor io.on('connnection', ...)de código dentro de alguna otra función que se llama más de una vez provocando que se registre controladores de eventos múltiples para el mismo evento por lo que creo que está recibiendo múltiples eventos, pero en realidad sólo hay múltiples oyentes para la ocurrencia del evento.

  5. Su código de cliente está llamando a su var socket = io()más de una vez.

Para su información, a veces se puede aprender algo útil mediante la instalación de los oyentes para todos los posibles eventos relacionados con los errores en el cliente y en las conexiones del servidor y luego el registro de los que se producen y cualquier parámetro que ofrecen. Puede ver todos los eventos de error relacionados con el cliente se puede escuchar y registrar aquí .

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=406160&siteId=1
Recomendado
Clasificación