`

StockTimeoutException 、ConnectException分析

 
阅读更多

前两天有个同事发个异常给我,让我帮忙分析是啥原因

如图所示:


 
当时没有仔细看,就随口说了句链接超时
最后等我有时间来看异常以后,发现这个并不是链接超时,而应该是服务器响应异常
下面详细讲一下两个异常的区别
SocketTimeoutException:
   Signals that a timeout has occurred on a socket read or accept.
指的是读取socket或者accept socket的时候出现的错误,说明是客户端和服务器端的链接已经建立,但是没有正确接收到服务器的响应
ConnectException :


 
指的是创建链接时,出现的异常,通俗的话来说就是没有链接到服务器
 
使用时的设置如下
CloseableHttpClient httpminiClient = HttpClients.createMinimal(connManager);
RequestConfig requestconfig = RequestConfig.custom().setSocketTimeout(60000)
        .setConnectTimeout(5000).build();
 
如果在安全级别比较高的项目中,
一次通讯交互中,如果请求失败,说明未能成功请求到服务器,可以允许用户再次提交。
如果是响应失败,就说明用户提交是成功了的,应该防止用户提交。
  • 大小: 458.3 KB
  • 描述: connectException
  • 大小: 40 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics