2015-08-28 37 views
11

OkHttp中讀寫超時的行爲是什麼?讀寫超時行爲

當整個請求超過超時時間或者在此期間套接字未接收(讀取)或發送(寫入)任何數據包時,觸發超時異常。

我認爲是第二個行爲,但有人可以澄清這一點?

在此先感謝。

回答

11

當您阻塞時間過長時會觸發超時。在讀取時,如果服務器不向您發送響應數據。在寫入時,如果服務器未讀取您發送的請求,則會發生。或者如果網絡看起來像是這樣發生的事情!

超時是連續的:如果超時時間爲3秒,響應爲5個字節,則只要服務器每3秒發送一次,極端情況就可能在15秒內成功。換句話說,超時在成功的I/O之後被重置。

Okio的Timeout類還提供了與花費的總時間有關的最後期限抽象。