2016-09-08 13 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中,超时是利用这些可用超时的更晚期的希望的补充。