码迷,mamicode.com
首页 > 编程语言 > 详细

Java socket异常

时间:2014-12-11 22:21:17      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   os   使用   sp   java   

Java socket异常

分类: Java

目录(?)[+]

使用Java socket编写程序时,通常会遇到几种种异常:BindException、UnknownHostException、ConnectException、SocketTimeoutException。

BindException

会发生在Socket或ServerSocket的bind()操作中,如果无法与本机指定的IP地址或端口绑定,就会抛出此异常。

有两种情况:

  • 指定的IP地址不在主机上
一台主机上可以装N个网卡,可以有多个IP地址,在绑定的时候需要指定绑定到哪一个IP地址上,如果指定的IP地址不在当前主机上,会抛出异常。
  • 指定的port已被占用

UnknownHostException

connect的时候,如果指定的主机名或IP地址无法识别,就会抛出此异常。

ConnectException

发生在connect中,有两种情况:

  • 服务器没有监听指定的端口
  • 服务器socket指定的backlog队列已满
两种情况的异常信息相同:
  1. java.net.ConnectException: Connection refused: connect  
  2.     at java.net.PlainSocketImpl.socketConnect(Native Method)  
  3.     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)  
  4.     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)  
  5.     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)  
  6.     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)  
  7.     at java.net.Socket.connect(Socket.java:529)  
  8.     at java.net.Socket.connect(Socket.java:478)  

SocketTimeoutException

connect方法可以指定超时时间,如果在timeout之间没有能连接成功,就会抛出此异常

Java socket异常

标签:style   blog   http   io   ar   os   使用   sp   java   

原文地址:http://www.cnblogs.com/zhaoxinshanwei/p/4158505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!