BindException、ConnectException和SocketException

2024-05-07 03:38

本文主要是介绍BindException、ConnectException和SocketException,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

BindException和ConnectException都是SocketException的直接子类。ConnectException在SocketTimeoutException和ConnectException简介已介绍,下面介绍其余两个异常。

BindException:

类声明:public class BindException extends SocketException:试图将套接字绑定到本地地址和端口时发生错误的情况下,抛出此异常。这些错误通常发生在端口正在使用中或无法分配所请求的本地地址时。

注意,所有异常都是Throwable子类,而Throwable实现了Serializable接口。所以所有异常都实现了Serializable接口的。

类层次结构:

构造方法:

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

②public BindException()  构造不带详细消息的新 BindException。

SocketException:

类声明:public class SocketException extends IOException   抛出此异常指示在底层协议中存在错误,如 TCP 错误。

类层次:

直接已知子类:BindException, ConnectException, NoRouteToHostException, PortUnreachableException

构造方法:

①public SocketException(String msg)   构造带指定详细消息的新 SocketException

②public SocketException()   构造不带详细消息的新 SocketException

几个常见异常比较:

①ConnectException:connection refused connect.  抛出此类异常,表示无法连接,也就是说当前主机不存在
②BindException:address already in use   抛出此类异常,表示端口已经被占用
③SocketException:socket is closed.  抛出此类异常,表示连接正常关闭,也就是说另一端主动关闭连接
④SocketException:connection reset.抛出此类异常,表示一端关闭连接,而另一端此时在读数据
⑤SocketException:connect reset by peer.抛出此类异常,表示一端关闭连接,而另一端此时在发送数据
⑥SocketException:broken pipe.抛出此类异常,表示连接已关闭,但还继续使用(也就是读/写操作)此连接
⑦EOFException 抛出此类异常,表示连接丢失,也就是说网络连接的另一端非正常关闭连接(可能是主机断电、网线出现故障等导致)




 

这篇关于BindException、ConnectException和SocketException的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/966222

相关文章

java.net.SocketException:Softwart caused connection abort

这个异常 是 Socket 连接被打断了   我们项目的情况是:  设备外放的热点,在设备返回回数据的同时,关闭了热点。导致客户端通过Socket打开的流通道读取数据的时候读取不到,发生异常   解决办法: 设备返回数据之后延迟一定时间再关闭外放的wifi。

java.net.BindException Address already in use: JVM_Bind

Error running 'XX': Unable to open debugger port (127.0.0.1:XX): java.net.BindException "Address already in use: JVM_Bind" 使用cmd命令 netstat -ano|findstr 53924 查看端口占用,发现没有用到,但是tomcat就是debug跑不起来。

java.net.BindException: Cannot assign requested address解决之道

今天在学习webService时,练习一个例子,如下图,url写了本机的IP地址,但是结果报错了 Exception in thread "main" com.sun.xml.internal.ws.server.ServerRtException: Server Runtime Error: java.net.BindException: Address already in us

Unable to open debugger port : java.net.BindException Address already in use: JVM_Bind

错误:Unable to open debugger port : java.net.BindException "Address already in use: JVM_Bind 我用的idea不知道怎么回事突然报这个错,关闭java.exe进程也不行,最后修改端口号解决,如图:

解决 java.net.ConnectException: Connection refused: connect 异常

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、 我的情况很简单: 只是因为我调用服务端接口方法包名没有写对,应该如下面代码中这样写: call.setOperationName(new QName("http://com.boco.esb.receive", "example"));  call.setTargetEndpointA

java.net.BindException: 地址已在使用 Linux终止被占用端口

严重: StandardServer.await: create[localhost:8885]:  java.net.BindException: 地址已在使用 (Bind failed)     at java.net.PlainSocketImpl.socketBind(Native Method)     at java.net.AbstractPlainSocketImpl.bind(A

unexpected error, closing socket connection and attempting reconnect java.net.ConnectException

使用root用户登录,执行安装jdk rpm -ivh jdk-7u21-linux-x64.rpm 安装zip执行: yum install -y unzip zip 启动上传solr的配置交给zookeeper的集群进行管理 建议: 使用root用户登录,安装完之后,还需要在 /solr-4.10.3/example 目录下执行: cd /home/tangchao/develo

java.net.BindException: Address already in use: JVM_Bind null:8080

七月 21, 2015 8:57:44 上午 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on

严重 catalina.stop java.net.connectexception connection refused connect

tomcat stop 报错。。  root@localhost bin]# ./shutdown.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/

SocketTimeoutException和ConnectException简介

随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) SocketTimeoutException: 一、简介: SocketTimeoutException:指的是服务器响应超时 直接继承自java.io.InterruptedIOException,实现了可序列化接口。 类层次结构: 类声明: public class SocketTim