10

nettyフレームワークを使用してロングポーリングを行うにはどうすればよいですか? たとえば、私がフェッチするとしますhttp://localhost/waitforx

waitforxイベントを待たなければならないので非同期ですか?たとえば、ブロッキング キューから何かをフェッチするとします (データがキューにある場合にのみフェッチできます)。キューからアイテムを取得するときに、データをクライアントに送り返したいと思います。うまくいけば、誰かがこれを行う方法のヒントを教えてくれます。

どうもありがとう

4

3 に答える 3

10

最初に応答ヘッダーを作成し、後で他のスレッドから本文 (コンテンツ) を送信できます。

void messageReceived(...) {
    HttpResponse res = new DefaultHttpResponse(...);
    res.setHeader(...);
    ...
    channel.write(res);
}

// In a different thread..
ChannelBuffer partialContent = ...;
channel.write(partialContent);
于 2010-06-07T01:30:55.263 に答える
3

netty-socketioプロジェクトを使用できます。これは、長いポーリングをサポートするSocket.IOサーバーの実装です。Web 側では、Socket.IO クライアントjavascript lib を使用できます。

于 2012-04-07T12:08:38.787 に答える