当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.net.BindException用法及代码示例


java.net.BindException 是当应用程序尝试将套接字绑定到本地地址和端口时发生绑定错误时引发的异常。大多数情况下,发生这种情况的原因有两个,或者端口已被使用(由于另一个应用程序),或者请求的地址无法分配给该应用程序。 BindException 继承自 SocketException 类,因此表明存在与套接字创建或访问相关的错误。

构造函数

以下构造函数可用于 BindException:

  • BindException():创建 BindException 类的简单实例,没有详细消息
  • BindException(字符串消息):使用指定消息创建 BindException 类的实例作为发生绑定错误的原因。

方法总结

  1. 从类 java.lang.Throwable 继承的方法:
    Throwable addSuppressed(),Throwable fillInStackTrace(),Throwable getCause(),Throwable getLocalizedMessage(),Throwable getMessage(),Throwable getStackTrace(),Throwable getSuppressed(),Throwable initCause(),Throwable printStackTrace(),Throwable setStackTrace(),Throwable toString().
  2. 从类 java.lang.Object 继承的方法:
    克隆,equals(),敲定,Object,哈希码,notify()和notifyAll()的区别,等待.

java.net.BindException 的层次结构

例子:

在下面的示例中,我们创建了一个类Ex_BindException来演示BindException:

Java


// java.net.BindException in Java with Examples 
  
import java.io.*; 
import java.net.*; 
public class Ex_BindException { 
  
    // Creating a variable PORT1 with arbitrary port value 
    private final static int PORT1 = 8000; 
  
    public static void main(String[] args) 
        throws IOException 
    { 
  
        // Creating instance of the ServerSocket class 
        // and binding it to the arbitrary port 
        ServerSocket socket1 = new ServerSocket(PORT1); 
  
        // Creating another instance of the ServerSocket 
        // class and binding it to the same arbitrary 
        // port,thus it gives a BindException. 
        ServerSocket socket2 = new ServerSocket(PORT1); 
        socket1.close(); 
        socket2.close(); 
    } 
}

输出:

在上面的代码中,我们首先使用指定的端口创建了ServerSocket类的实例。该实例已成功绑定。但是,当使用同一端口创建另一个实例时,会出现BindException,因为该端口已绑定到另一个套接字。在这里,我们可以简单地为第二个套接字使用另一个任意端口(未使用)来消除此异常。



相关用法


注:本文由纯净天空筛选整理自ashutoshrathi大神的英文原创作品 java.net.BindException in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。