2016-09-08 15 views
0

給予代碼:如何處理URLConnection.connectionTimeout?

HttpURLConnection huc = (HttpURLConnection) new URL(url).openConnection(); 
huc.setConnectTimeout(10000); 
huc.connect(); 

究竟是如何連接超時處理?一些HTTP頭文件被設置或者什麼?或者連接狀態正在循環中檢查connectionTimeout時間?

我試圖找到它的源代碼,但只有long connectionTimout場...

回答

2

認爲它是:

connect第一平行定時器運行的連接超時。 如果計時器在建立實際連接(收到響應)之前結束,則失敗。

實際上,在大多數平臺上,操作系統可以通過超時進行參數設置,並以相同的方式自行處理。 沒有看到Java本機代碼,但有POSIX方法,如setsocketopt用於設置超時。 POSIX connect將會超時。

在java中,超時是利用這些可用超時的更晚期的希望的補充。