zoukankan      html  css  js  c++  java
  • Java socket异常

    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之间没有能连接成功,就会抛出此异常

  • 相关阅读:
    Git 常用命令大全-转载
    Powershell重命名文件夹
    C#使用qq邮箱发送邮件
    iOS开发-YUV颜色格式
    iOS开发小记(十一)
    iOS开发-AFNetworking
    iOS开发-NSURLSession
    iOS开发-类的加载load函数和initialize函数
    iOS开发-调试(debug)
    iOS开发-graphics
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/4158505.html
Copyright © 2011-2022 走看看