Socket使用中常见的异常整理

在平时开发过程中,不可避免的会涉及到网络编程,虽然网上有很多网络开发框架,但是基本的网络操作还是要有所了解的,如果想要告别“屌丝码农”的境地,那么基本的网络编程知识是必须的,而且要深入。越深越好~最近看郭霖大哥的一部视频,感觉棒棒的,是讲Android即时推送的,以Androidpn这个开源项目为基础,讲解内部实现原理,相信对理解客户端与服务器通信会有更深入的理解,虽然我刚开始,一个Socket就把我弄懵逼了,现在整理一下在使用Socket过程中常见的异常,自己在使用中遇到了部分,剩下的其他估计在以后会遇到吧,先整理下来,为以后做个铺垫。
1.java.net.SocketTimeoutException.这个异常比较常见,socket超时。一般有2个地方会抛出这个,一个是connect的时候,这个超时参数由connect(SocketAddress endpoint,int timeout)中的后者来决定,还有就是setSoTimeout(int timeout),这个是设定读取的超时时间。它们设置成0均表示无限大。

2.java.net.BindException:Address already in use: JVM_Bind。该异常发生在服务器端进行new ServerSocket(port) 或者socket.bind(SocketAddress bindpoint)操作时。
原因:与port一样的一个端口已经被启动,并进行监听。此时用netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口就能解决这个问题。

3.java.net.ConnectException: Connection refused: connect。该异常发生在客户端进行new Socket(ip, port)或者socket.co

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值