0

大きなファイル (約 100 MB など) をダウンロードしていますが、時々受信SocketException: Read timed outしています。

ソケットタイムアウトを上げることを考えています。実際、ソケット タイムアウトを 0 (無限) に設定することを考えています。最終的には、アプリがダウンロードするファイルのサイズが 300 MB を超えるか、さらには 300 MB を超える可能性があるからです。これは良い習慣ですか?

ソケットのタイムアウトに関して、タイムアウトのカウントダウンが実際に開始されるのはいつですか? つまり、ソケット タイムアウトが発生した場合、接続がまだ有効であり、ファイルがまだ継続的にダウンロードされているが、ソケット タイムアウトが構成されているためにタイムアウトするということですか? または、接続がまだ生きているがサーバーからデータが送信されていないと判断したときにカウントダウンが開始されますか。カウントダウンが始まり、タイムアウトになった?

後者の場合、アプリではなくサーバーがデータを送信していないことが原因であるため、無限に進むことは選択しません。

4

1 に答える 1