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