socket query node error node.js sockets express mean-stack

node.js - node - socket io query



io.on(''connection'',...) versus io.sockets.on(''connection'',...) (1)

El espacio de nombres predeterminado al que se conectan los clientes de Socket.IO por defecto es: / . Se identifica por io.sockets o simplemente io ( docs ).

Este ejemplo copiado de la documentación:

// the following two will emit to all the sockets connected to `/` io.sockets.emit(''hi'', ''everyone''); io.emit(''hi'', ''everyone''); // short form

Supongo que es lo mismo para ''on'', como para ''emit'': usar ''io.sockets'' es equivalente a usar ''io'' solamente, es solo una forma más corta.

Para "espacio de nombres" sus sockets, significa asignar diferentes puntos finales o rutas (que pueden ser útiles).

De una respuesta a esta question SO:

"Socket.io hace todo el trabajo por usted como si se tratara de dos instancias separadas, pero aún limita la información a una conexión, que es bastante inteligente".

Estoy usando socket.io y Mean stack para una aplicación web. Inicié el servidor para el socket en el puerto 3006 ..

var http = require(''http'').createServer(app); http.listen(3006); var io = require(''socket.io'').listen(http);

Ambos parecen funcionar en la conexión.

io.on(''connection'', function (socket) { console.log(''Socket succesfully connected with id: ''+socket.id); });

y...

io.sockets.on(''connection'', function (socket) { console.log(''Socket succesfully connected with id: ''+socket.id); });

¿Cuál es la diferencia entre io.on y io.sockets.on y cuál debería usar en la conexión por primera vez ..?

Aunque la socket.io utiliza io.on ¿ io.on qué funciona para io.sockets.on