【问题标题】:Can I send multiple responses via Node.js to the client?我可以通过 Node.js 向客户端发送多个响应吗?
【发布时间】:2011-10-18 08:22:42
【问题描述】:

我正在使用Node.js,我想向客户端发回多个响应。所以客户端会发送一个 AJAX POST 请求并取回一些数据。但是服务器必须继续做一些处理,完成后,我希望它发回更多数据。

我知道这是 Socket.io 的一个很好的候选者,但我还没有真正看到如何在 MVC 框架的上下文中使用 socket.io 的示例。它进入控制器吗?

【问题讨论】:

    标签: model-view-controller node.js socket.io


    【解决方案1】:

    您可以使用服务器发送事件。 这是一个例子:

    https://github.com/chovy/nodejs-stream(完整源代码示例)

    用户界面

    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");
        });
      });
    }
    

    【讨论】:

    • 所有现代浏览器都支持EventSource吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多