SocketTimeoutException和ConnectException简介

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

SocketTimeoutException:

一、简介:

SocketTimeoutException:指的是服务器响应超时

直接继承自java.io.InterruptedIOException,实现了可序列化接口。

类层次结构:

类声明: public class SocketTimeoutException extends InterruptedIOException

如果在读取或接受套接字时发生超时,则抛出此异常。

二、字段:

从InterruptedIOException继承了一个字段:bytesTransferred  报告 I/O 操作中断之前传输了其中多少字节。

三、构造方法:

①public SocketTimeoutException(String msg)  构造带详细消息的新 SocketTimeoutException。

②public SocketTimeoutException()  构造不带详细信息的新 SocketTimeoutException。

四、方法:

方法都是继承的Throwable或者Object的方法。

ConnectException:

一、简介:

ConnectException : 指的是服务器请求超时。直接继承自java.net.SocketException ,实现了可序列化接口。

类声明:public class ConnectException extends SocketException

类层次结构:

在试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。这些错误通常发生在拒绝远程连接时(例如,没有任何进程在远程地址/端口上进行侦听)。

二、构造方法:

①public ConnectException(String msg)  构造一个新的 ConnectException,使其具有关于连接错误产生原因的指定详细消息。详细消息指的是一个具体描述此错误的 String。

②public ConnectException()  构造不带详细信息的新 ConnectException。

三、方法:方法都是继承的Throwable或者Object的方法。

ConnectException和SocketTimeoutException简要比较:

ConnectException : 指的是服务器请求超时

SocketTimeoutException:指的是服务器响应超时

设置请求超时:

client.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);

设置响应超时:

client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 3000);

如果在安全级别比较高的项目中,
一次通讯交互中,如果请求失败,说明未能成功请求到服务器,可以允许用户再次提交。
如果是响应失败,就说明用户提交是成功了的,应该防止用户提交。

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值