HttpURLConnection超时异常问题
最近在使用java网络连接时:具体如下:
URL url=new URL("http://XXX.com.cn");
HttpURLConnection connect=(HttpURLConnection)url.openConnection();
connect.setConnectTimeout(500);//设置连接超时:500ms
connect.setReadTimeout(500);//设置读取超时:500ms
已经设置了超时,但是在本地环境中(断网的情况下),仍然要链接10多秒的时间,并且不会抛出SocketTimeoutException异常,想请教下大神们如何才能限制请求的时间,抛出超时这个异常呢
*******************************分割线****************************************
感谢 缪斯的情人 的热心解答
查看API以及网上搜索,然后断点跟踪进去看了一下:
HttpURLConnection connect=(HttpURLConnection)url.openConnection();
只会返回对象而不会真正建立连接,所以后面设置的连接超时和读取超时是可用的(通过设置超时为1ms,捕获到了超时异常).问题出在:本地网络是断开的,所以在调用connect.connect()的时候会抛出java.net.UnknownHostException异常.正是因为这样,导致连接十几秒的情况.
接下来的问题是,如何限制断网情况下尝试连接的时间呢(原谅我对网络这块的无知TT )
相关阅读:
对递归的思考和疑惑。
Java Aes 类,可否用 php 实现,求助于懂 Java 代码的 php 程序猿
java的Scanner对象获取一个很长的数组
PHP获得某个变量的名字,代码解释
angularjs 中directive的scope问题
sf 的 文本编辑器 wmd 用的哪个分支,在git是哪个?
vuejs里使用firebase报错
native中window. onload和jQuery中document.ready的区别?
git 部署代码,出现untracked files的代码
批量导入用户数据到LDAP里
电商网站的手机端页面开发适用哪种框架
面向对象中嵌套的函数, 关键字 this 怎样处理?
移动端侧边栏插件那个比较好用?
MySQL load_file函数导出文件时重复写入?
PHP项目入口文件为什么放在子目录
使用URLClassLoader加载类,不会报错,但被加载类中的内容也没有打印出来
JAVA按行读取文件如何判断两行内容是否相同
objc_getAssociatedObject的第二个参数的作用是什么?
求问,每个块高度不固定, 随机出现横跨两三个列的块的瀑布流如何实现?
SSH免密码可行 SCP不行....怎么解决?