node.js経由で複数の応答をクライアントに送信できますか?
-
22-10-2019 - |
質問
私は使用しています Node.js
そして、クライアントに複数の応答を送り返したいと思います。そのため、クライアントはAjax POSTリクエストを送信し、データを取り戻します。しかし、サーバーは引き続き処理を行う必要があり、それが完了したら、より多くのデータを送り返したいと思います。
私はこれが良い候補者であることを知っています Socket.io
, 、しかし、私は実際に使用方法の例を見たことがありません socket.io
MVCフレームワークのコンテキストで。コントローラーに入りますか?
解決
サーバー送信イベントを使用できます。これが例です:
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");
});
});
}
所属していません StackOverflow