1

Web サービスに接続していますが、HttpURLConnection で接続タイムアウトと読み取りタイムアウトを設定していません。デフォルトの接続タイムアウトと読み取りタイムアウトは? Androidフォンに依存していますか?または、Android/Java には独自のタイムアウト値がありますか?

接続タイムアウト ( getConnectTimeout()) と読み取りタイムアウト ( getReadTimeout()) の値を取得しようとすると、値 0 が返されますが、これは無限大と同等であると想定しています。ただし、それらの値が 0 であっても、まだリクエスト タイムアウト エラーが発生することがあります。したがって、それらの値は無限大にはなりません。誰かがこれについて私に教えてもらえますか?

4

3 に答える 3

3

何か調査はしましたか?デフォルトの詳細については、ドキュメントを参照してください。関連する部分は次のとおりです。

public void setConnectTimeout (int timeout) 以降: API レベル 1

この URLConnection インスタンスが指すリソースへの接続を確立するためのタイムアウト値をミリ秒単位で設定します。この時間内に接続を確立できなかった場合は、SocketTimeoutException がスローされます。デフォルトは 0 で、無限のタイムアウトを表します。

public void setReadTimeout (int timeout) 以降: API レベル 1

確立された接続の入力ストリームからリソースへの読み取りのタイムアウト値をミリ秒単位で設定します。この時間内に接続を確立できなかった場合は、SocketTimeoutException がスローされます。デフォルトは 0 で、無限のタイムアウトを表します。

また、タイムアウトに関する次の注意事項があります。

URLConnection は、接続タイムアウトと読み取りタイムアウトの 2 つのタイムアウトをサポートしています。デフォルトでは、操作がタイムアウトすることはありません。

接続しているサーバーがクライアントのタイムアウトになっている可能性があります。

于 2012-04-03T03:34:43.930 に答える