Android --- ConnectTimeout 和 ReadTimeout 所代表的意义
文章目錄
- ConnectTimeout
- ReadTimeout
ConnectTimeout
指的是建立連接所用的時間,適用于網絡狀況正常的情況下,兩端連接所用的時間。
在java中,網絡狀況正常的情況下,例如使用 HttpClient 或者 HttpURLConnetion 連接時設置參數 connectTimeout=5000 即5秒,如果連接用時超過5秒就是拋出 java.net.SocketException: connetct time out 的異常。
ReadTimeout
指的是建立連接后從服務器讀取到可用資源所用的時間。
在這里我們可以這樣理解ReadTimeout:正常情況下,當我們發出請求時可以收到請求的結果,也就是頁面上展示的內容,但是當網絡狀況很差的時候,就會出現頁面上無法展示出內容的情況。另外當我們使用爬蟲或者其他全自動的程序時,無法判斷當前的網絡狀況是否良好,此時就有了ReadTimeout的用武之地了,通過設置ReadTimeout參數,例:ReadTimeout=5000,超過5秒沒有讀取到內容時,就認為此次讀取不到內容并拋出Java.net.SocketException: read time out的異常。
根據上面關于ConnectTimeout和ReadTimeout的描述,在我們使用需要設置這兩項參數的服務或程序時,應該對兩項參數一起設置。 一般而言兩項參數的數值可以設置成一樣的,但根據筆者個人經驗,可以把ReadTimeout設置的長一點,ConnectTimeout可以相對比較短,這是源于我們的網絡狀況一般較為穩定,連接時很少出現問題,但是讀取時因為數據下載時的網絡波動,出狀況的可能性更大一些。
總結
以上是生活随笔為你收集整理的Android --- ConnectTimeout 和 ReadTimeout 所代表的意义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android --- 漂亮的 Load
- 下一篇: Android --- Retrofit