11

私の httpclient の実装は、doGetConnection() を呼び出すときに例外をスローすることがあります。ただし、次のタイムアウトを設定しています

_moHttpClient.setHttpConnectionFactoryTimeout(30000);

タイムアウトが取得されていないようです。この動作が再発しないようにタイムアウトを設定する必要がある場所は他にありますか

4

3 に答える 3

7
    HttpConnectionManagerParams cmparams = new HttpConnectionManagerParams();
    cmparams.setSoTimeout(10000);
    cmparams.setTcpNoDelay(true);
    HttpConnectionManager manager = new SimpleHttpConnectionManager();
    manager.setParams(cmparams);
    params = new HttpClientParams();
    params.setSoTimeout(5000);
    client = new HttpClient(params, manager);

なぜ 2 つの異なる SoTimeouts が設定されているのだろうか。たぶん、私はそれを使用したときにあなたと同じ問題を抱えていたので、実際にアクティブだったものを見つけようとしていた.

上記は現在私たちの場所でライブコードになっていますが、それが正しいために機能するのか、それともプロビデンスが私に微笑んでいるために機能するのかはわかりません (そして、反対側は通常常に利用可能です)。

于 2008-09-25T09:36:01.410 に答える
4

cmparams.setSoTimeout(10000);

これは、デフォルトですべての HttpClient 用です。

params.setSoTimeout(5000);

これは特定の httpclient 用です。

于 2008-09-25T09:59:22.570 に答える