2017-03-20 10 views
2

方法はありますか?最後にをresponseオブジェクトに呼び出す前に、クライアントに応答を送信し続けますか?クライアントに継続的に応答を送信

巨大なファイルがあり、解析して解析してクライアントに戻して解析してもらいたいです。私がラインを読むとすぐに回答を送っていくことは可能でしょうか?

response.sendまた、endがありますので使用できません。

答えて

1

どのようなサーバーサイドアプリケーションを使用していますか? Node.jsとSocket.IOを使って、このようなことを行うことができます。ここにいくつかの便利なリンクがあります。

First Node.js application

Node.js readline API

2

あなたは応答を停止させずに、応答本体のコンテンツを送信しres.writeを、使用したい:

これはレスポンスボディのチャンクを送信します。このメソッドは、ボディの連続する部分を提供するために複数回呼び出すことができます。

エクスプレスの応答オブジェクトが延びることがエクスプレス固有の機能ではなく、ノードのコアhttp.ServerResponseから継承されるので、writeExpress documentationに含まれていないことに注意してください、から:

resオブジェクトでありますNode自身の応答オブジェクトの拡張バージョンであり、すべての組み込みフィールドとメソッドをサポートします。

しかし、ストリーミングデータを扱うこと(予期しないタイムアウトに関する警告以下のコメントを参照してください)常に少しトリッキーなので、ブラウザとの互換性のためWebSocket、またはsocket.ioを介してストリーミングデータを送信するために、アプリケーションを再構築する方が簡単な場合がありWebSocketをサポートしていない

+1

これは過去のやり方ではありますが、それにはいくつかの欠点(途中のさまざまな場所でのタイムアウトを含む)があるため、今日はソケットを使用することをお勧めします。 – jcaron

関連する問題