No puede enviar datos porque no está utilizando la devolución de llamada de conexión entrante correctamente en el código de su servidor. El controlador se ve así:
io.on('connection', fn);
En el ejemplo anterior, la instancia del servidor llama a la función
cuando se conecta un socket. Esto significa que solo puede usar una instancia de socket específica una vez que esté disponible dentro de esa devolución de llamada. Aquí hay otro ejemplo: fn
- ¿Cómo promover un complemento de WordPress de recargo? Qué sitios se pueden colocar en la publicación del complemento
- Estoy interesado en reconstruir la versión 2004 de Facebook. ¿Cómo puedo hacer esto?
- Si uso WordPress y lo agrego a mi sitio web, ¿Google lo indexará y le dará "crédito" a mi sitio por palabras clave y contenido nuevo?
- Quiero trabajar en el lado de los servidores Linux, ¿qué debo hacer?
- Me gustaría centrar verticalmente un elemento pequeño de altura fija en CSS lado a lado con un elemento de altura dinámica más grande de una manera que admita navegadores más antiguos. ¿Cómo hago esto?
io.on('connection', function(socket) {
// this runs when a socket connects
// that means emitting can only be done here
});
El código anterior es un controlador de conexión . Eso significa que escuchará en
eventos de io
y ejecutará la connection
cuando se conecte un socket. function(socket) { ... }
Eso no funciona en la forma en que ha escrito su código, porque en su lugar, está vinculando los controladores de devolución de llamada a la instancia del servidor cada vez que se llama
, lo que significa que en lugar de enviar datos, simplemente está agregando más controladores de conexión al saveLatestData
ejemplo. io
Lo que podría hacer en su lugar es transmitir a todos los enchufes conectados:
function saveLatestData(data) {
io.sockets.emit('event', { ... });
}
Lo que esto le permite hacer es realizar una emisión independientemente de la conexión de un socket.
También hay otras soluciones, pero requerirán mucho más trabajo, ya que trabajará con dos procesos que se ejecutan de forma asincrónica (la instancia del servidor y el puerto serie).