2

長年のリスナー、初めての発信者。

Node をクライアントとして使用して、ロング ポーリングを使用するリアルタイム データ ストリームに接続し、データが受信されるたびに各項目を処理する必要があります。

Node をクライアントとしてではなく、ロング ポーリング サーバーとして使用することに関する多くの情報を見つけました。

「Request」モジュールを使用して URL をロードする方法は知っていますが、私が知っているコールバックは「oncomplete」コールバックだけであり、接続が閉じられた後にのみ起動します。接続が開いている間は、受信中のデータにリアルタイムでアクセスできません。接続が終了したときにのみ使用できます。

ノードがリモート サーバーへの HTTP 接続を開き、データを受信するたびにイベントを発生させる方法はありますか?

または、別の質問だと思います... HTTP接続の進行中に、すべてのデータが入っているバッファにアクセスする方法はありますか?

ありがとう!!!

4

2 に答える 2

2

リクエストモジュールは使用しないでください。ノードに組み込まれているものを使用する場合、それは非常に簡単です。

http://nodejs.org/api/http.html#http_event_data

response.on('data', function (chunk) {
    // chunk is the data just received
})

リクエストモジュール自体にも同様の方法がありますが、頭のてっぺんから何が外れているのかわかりません。

于 2012-09-22T13:49:21.977 に答える
2

http.request()の例は機能しますか?

var req = http.request(options, function(res) {
  console.log('STATUS: ' + res.statusCode);
  console.log('HEADERS: ' + JSON.stringify(res.headers));
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log('BODY: ' + chunk);
  });
});
req.end();
于 2012-09-22T13:49:39.770 に答える