SocketTimeoutException和ConnectException简介

来源:互联网 发布:golang 中文教程 编辑:程序博客网 时间:2024/05/21 07:54

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);

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

1 0
原创粉丝点击