2016-12-07 3 views
0

curlをクライアントとして使用し、サーバー側でjerseyとgrizzlyを使用すると、サーバーにクライアントの切断を検出させることができません。 サーバがクライアントにメッセージを書き込んだ場合でも、ChunkedOutput.writeが成功します。Jersey ChunkedOutput - クライアントの切断を検出する方法

チャンク出力への書き込みが失敗するグリズリーまたはジャージーの設定がありますか?

答えて

0

Grizzly - ワーカースレッドIOStrategyを使用した場合のように見えますが、ChunkedOutputオブジェクト(Jerseyオブジェクト)はクライアントがすぐに切断することを認識しません。

私は同じスレッドIOStrategyを使い終わった。これはすべてのアプリにとって最高の解決策ではないかもしれませんが、私にとっては素晴らしいことです。

NetworkListener listener = new NetworkListener("grizzly2", host, port); 
listener.getTransport().setIOStrategy(SameThreadIOStrategy.getInstance()); 

私はまた、ワーカースレッドIOStrategyを使用して、書き込みバッファを下げてみました:bufferSizeのは、実際に送信されたメッセージ、その後小さかったとき

NetworkListener listener = new NetworkListener("grizzly2", host, port); 
listener.getTransport().setWriteBufferSize(bufferSize); 

これも取り組んできました。

関連する問題