HttpURLConnection setReadTimeOut()未按预期工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpURLConnection setReadTimeOut()未按预期工作相关的知识,希望对你有一定的参考价值。
我正在使用HttpURLConnection连接到jsp页面并将readTimeout配置为5s。
并将Thread.Sleep()的jsp页面执行延迟了10秒。
但是不要获得超时异常而是连接等待10秒才能获得响应。
HttpURLConnection con = (HttpURLConnection)jspUrl.openConnection();
con.setReadTimeout(5000);
con.connect();
Jsp页面内容如下所示。
<%
Thread.sleep(10000);
JSONArray arrayObj = new JSONArray();
arrayObj.put(123);
out.println(arrayObj);
%>
答案
在运行时,您的jsp页面被编译为servlet类,直到您的Thread.sleep(10000);
调用,一些响应已经通过连接写入。所以在客户端(你的httpurlconnection)已经做了一些读数,所以你没有陷入readtimeoutexception
你可以看看here
你应该直接使用Servlet
来测试超时...
以上是关于HttpURLConnection setReadTimeOut()未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章
ADO.Net IsolationLevel.Snapshot 与 SET READ_COMMITTED_SNAPSHOT ON