1

いくつかのメソッドを備えたRESTWebサービスがあります。

ApacheHttpClient4を使用して残りの部分にリクエストを送信しています。

この残りの部分に接続すると、大きくて遅いメソッドで、がスローされNoHttpResponseExceptionます。

グーグルした後、サーバーがクライアントアプリとの接続を切断していることを発見しました。

だから、私はこの方法でタイムアウトを無効にしようとしました:

DefaultHttpClient httpclient = null;
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 0);
HttpConnectionParams.setSoTimeout(params, 0);
HttpConnectionParams.setStaleCheckingEnabled(params, true);

httpclient = new DefaultHttpClient(params);
httpclient.execute(httpRequest, httpContext);

しかし、それは失敗しました。リクエストは15秒で終了します(デフォルトのタイムアウトの可能性はありますか?)これを行うための最良の方法を知っている人はいますか?

4

1 に答える 1

1

タイムアウトが発生する前に、クライアントにデータを返すことをお勧めします。これは、クライアントに「機能している」と言うバイトの場合があります。データを細流化することで、クライアントを存続させることができるはずです。

于 2012-10-19T14:40:00.793 に答える