ConnectionTimeout、ReadTimeout 和 Connection refused 的不同

1、Connection refused 网络通了 但是业务服务没有正常访问

"Connection refused" 错误通常表示无法建立到目标 IP 地址的网络连接。这可能有几种原因:

目标服务器未运行或端口未监听:这是最常见的原因之一。如果目标服务器没有运行或没有在指定的端口上监听连接请求,那么你会收到 "Connection refused" 错误。

防火墙或网络问题:防火墙设置或网络问题可能会导致连接被拒绝。确保目标服务器的防火墙规则允许连接到指定的端口。此外,确保你的本地网络也没有阻止该连接。

目标端口错误:确保你尝试连接的是正确的端口。如果你尝试连接的端口不正确或未打开,你会收到连接拒绝的错误。

目标服务器负载过高:如果目标服务器负载过高,可能无法处理更多的连接请求。这也可能导致连接被拒绝。

目标服务器配置问题:有时,服务器的配置可能会导致连接问题。检查服务器的配置,确保它允许连接。

2、ConnectTimeout:网络 没通 

指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间。 
在java中,网络状况正常的情况下,例如使用 HttpClient 或者 HttpURLConnetion 连接时设置参数 connectTimeout=5000 即5秒,如果连接用时超过5秒就是抛出 java.net.SocketException: connetct time out 的异常。

3、ReadTimeout:网络 通了 又断了

指的是建立连接后从服务器读取到可用资源所用的时间。 
在这里我们可以这样理解ReadTimeout:正常情况下,当我们发出请求时可以收到请求的结果,也就是页面上展示的内容,但是当网络状况很差的时候,就会出现页面上无法展示出内容的情况。另外当我们使用爬虫或者其他全自动的程序时,无法判断当前的网络状况是否良好,此时就有了ReadTimeout的用武之地了,通过设置ReadTimeout参数,例:ReadTimeout=5000,超过5秒没有读取到内容时,就认为此次读取不到内容并抛出Java.net.SocketException: read time out的异常。

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代衡_Monster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值