我正在使用Node.js
,我想向客户端发回多个回复。因此客户端将发送一个AJAX POST请求并获取一些数据。但服务器必须继续进行一些处理,一旦完成,我希望它能够发回更多数据。
我知道这是Socket.io
的一个很好的候选者,但我还没有看到如何在MVC框架的上下文中使用socket.io
的示例。它会进入控制器吗?
答案 0 :(得分:1)
您可以使用服务器已发送事件。 这是一个例子:
https://github.com/chovy/nodejs-stream(完整的源代码示例)
<强> UI 强>
var source = new EventSource('stream');
source.addEventListener('a_server_sent_event', function(e) {
var data = JSON.parse(e.data);
//do something with data
});
<强>节点强>
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");
});
});
}