java异常对应_Java网络编程五个常见的异常发生及对应的解决方案

原标题:Java网络编程五个常见的异常发生及对应的解决方案

盛夏,时光轻缓

花开无语,淡香如故

三伏天已经到了,你的《盛夏》是什么样子?

空调WiFi西瓜,葛优同款沙发

夕阳西下,我打开电脑学 java ……

736fa0d576a2b2b7cd56252e9ca98ca9.gif

在Java网络编程中,我们经常性的会碰到一些异常,有些异常是我们反复碰见的,下面整理几条常见的异常,供大家参考交流。

2ae95542efd227ad14c4967e3d367c34.gif

1.java.net.

SocketTimeoutException

出现原因:这个异常表示很常见,原因就是Socket超时。

解决方案:一般会有2个地方会抛出这个异常,一个是在Connect的时候,由connect(SocketAddressendpoint,inttimeout)中的后者来决定;另外一个就是setSoTimeout(inttimeout),这个是设定读取的超时时间,它们设置成0均表示无限大。

44a6c7bc10473558593783223684c194.gif

2.java.net.

BindException:Address already in use: JVM_Bind

出现原因:该异常发生在服务端进行NewServerSocket(Port)或者Socket.bind(bingPort)操作的时候,原因就是与Port一样的一个端口已经被启动,并进行监听。

解决方案:此时呢,我们可以用netstat-an的命令,可以监听到一个Listending状态的端口。只需要找一个没有被占用的端口就能解决问题。或者,我们在使用端口前,优先去查看哪些端口不能使用。(注:Port值为0-65536的整型值)

44a6c7bc10473558593783223684c194.gif

3.java.net.

ConnectException: Connection refused: connect

出现原因:该异常发生在客户端进行newSocket(Ip,Port)或者socket.connect(address,timeout)操作时,原因就是指定的ip地址不能被找到,或者说ip地址存在,但是找不到对应的端口进行监听。

解决方案:首先检查客户端的ip和port是否写错了,假如正确可以测试客户端和服务器端时候可以ping通,如果可以ping通,则在服务端重新找一个可以用的端口;如果ping不通,则需要另外想办法了。

44a6c7bc10473558593783223684c194.gif

4.java.net.

SocketException: Socket is closed

出现原因:该异常在客户端和服务器端均可能发生,原因就是,客户端或者服务器端主动关闭了链接,Spcket的close方法,随后再次对网络链接进行一系列操作。

解决方案:首先我们要弄清楚主动关闭链接的原因,杜绝以后再次被关闭的可能性;然后我们重启客户端和Server端,重新建立通讯即可。

44a6c7bc10473558593783223684c194.gif

5.java.net.

SocketException:Connection reset或者

Connect reset by peer:Socket write error

出现原因:该异常在客户端和服务器端均可能发生,引发该异常有两个原因:①如果一端的Socket被关闭(主动或者异常引起的关闭)后,另一方还在继续放松数据,发送的第一个数据包机会引发异常Connectresetbypeer;②另一个是端退出,但退出时为关闭链接,另一端从连接中读取数据则抛出异常Connectionreset.总结一下便是,因为由链接断开后的读和写操作引起的。

解决方案:解决方案如4中的类似,一定要弄清楚一端关闭原因,不要只是简单的重启就解决眼前问题。

46d59a09ae028a89890058e6dcb1ac6e.png

每天进步一点点,每天消化一点点。希望这篇文章对你有帮助,欢迎订阅。

中软卓越官网:www.whzrgj.com

刘老师:15623074480

联系QQ:2041794770

QQ交流群:114982018

微信公众号:chinasoft-wh/中软卓越中西区

地址:

武汉市洪山区关山大道光谷软件园F3栋4楼

郑州市金水区花园路与农业路交叉口兰德中心8楼

西安市高新区科技二路西安软件园零壹广场六楼返回搜狐,查看更多

责任编辑:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值