0

私はそのような非常に単純なクライアントを持っています

private void start() throws IOReactorException, InterruptedException {
    DefaultHttpAsyncClient client = new DefaultHttpAsyncClient();

    HttpAsyncRequestProducer prod = HttpAsyncMethods.createGet("http://b1.bigde.nrel.gov:8080");

    HttpAsyncResponseConsumer<Object> handler = new MyResponseHandler();
    FutureCallback<Object> futureCb = new MyFutureCbHandler();
    client.execute(prod, handler, futureCb);

    log.info("now sleeping");
    Thread.sleep(30000);
    log.info("done sleeping");
}

問題は、リスナー メソッドが呼び出されないことです。MyResponseHandler は AsyncCharConsumer を拡張していますが、それに対しては何も呼び出されず、FutureCallback でも何も呼び出されません。私は決して応答を得ません。

注 1: client.execute を呼び出して、Futures とやり取りせずにスタックを上に戻せるようにする必要があります。

注2:リスナーメソッドを呼び出す必要があります(リモートエンドがhttpチャンクをストリーミングしているため、データが入ってくると呼び出される必要があります。

これを機能させる方法はありますか?またはライブラリを切り替える必要がありますか?

ありがとう、ディーン

4

1 に答える 1

3

クライアントを起動すると非常に役立ちます;-)

client.start()

完了したらシャットダウンすることもできます。

于 2012-11-09T14:09:05.063 に答える