1. 程式人生 > >httpClient中的三種超時設定總結

httpClient中的三種超時設定總結

在Apache的HttpClient包中,有三個設定超時的地方:

/ 從連線池中取連線的超時時間/

ConnManagerParams.setTimeout(params, 1000);

/連線超時/

HttpConnectionParams.setConnectionTimeout(params, 2000);

/請求超時/

HttpConnectionParams.setSoTimeout(params, 4000);

第一行設定ConnectionPoolTimeout:

這定義了從ConnectionManager管理的連線池中取出連線的超時時間,此處設定為1秒。

第二行設定ConnectionTimeout:

這定義了通過網路與伺服器建立連線的超時時間。Httpclient包中通過一個非同步執行緒去建立與伺服器的socket連線,這就是該socket連線的超時時間,此處設定為2秒。

第三行設定SocketTimeout:

這定義了Socket讀資料的超時時間,即從伺服器獲取響應資料需要等待的時間,此處設定為4秒。

connectionTimeout:指的是連線一個url的連線等待時間。

soTimeout:指的是連線上一個url,獲取response的返回等待時間