『ANDROID』SocketTimeoutException和ConnectTimeoutException的區別
阿新 • • 發佈:2018-12-29
原文地址:http://www.cnblogs.com/carlosk/archive/2013/03/12/2956502.html
前幾天伺服器端的產品經理跑來問我是否有做請求超時和響應超時的處理。我一臉迷茫,直接就說:我做了開發這麼久,從不知道什麼是請求超時什麼是響應超時。
後來我靜下來仔細想想,確實應該有請求超時和響應超時這兩個概念,不然會出很多問題的。 然後花了一些時間仔細查了下資料。確實是如此。 ConnectException : 指的是伺服器請求超時 SocketTimeoutException:指的是伺服器響應超時 可以在程式碼裡設定 //請求超時 httpclient.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,reqTimeout); //響應超時 httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, resTimeout);大家如果以後做安全級別高的專案可能會碰到我這樣的問題。我說明下。 當一筆交易,如果請求失敗,那可以允許使用者再次提交。 如果是響應失敗,那就說明使用者提交成功了,應該防止使用者再次提交