Pregunta

Estoy usando Node.js Y quiero enviar múltiples respuestas al cliente. Por lo tanto, el cliente enviará una solicitud de publicación AJAX y recuperará algunos datos. Pero el servidor tiene que continuar haciendo un procesamiento y cuando se haga, quiero que devuelva más datos.

Sé que este es un buen candidato para Socket.io, pero realmente no he visto un ejemplo de cómo usar socket.io En el contexto de un marco MVC. ¿Va en el controlador?

¿Fue útil?

Solución

Puede usar eventos enviados al servidor. Aquí hay un ejemplo:

https://github.com/chovy/nodejs-stream (ejemplo de código fuente completo)

Ui

var source = new EventSource('stream');

source.addEventListener('a_server_sent_event', function(e) {
   var data = JSON.parse(e.data);
   //do something with data
});

Nodo

if ( uri == '/stream' ) {
  //setup http server response handling and get some data from another service
  http.get(options, function(resp){
    resp.on('data', function(chunk){
      res.write("event: a_server_sent_event\n");
      res.write("data: "+chunk.toString()+"\n\n");
    });
  });
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top