Java的.net.BindException在Java中与实例
Java.net.BindException是一个异常,当应用程序尝试将套接字绑定到本地地址和端口时,绑定导致错误时抛出的异常。大多数情况下,这可能是由于 2 个原因造成的,端口已在使用中(由于另一个应用程序)或请求的地址无法分配给该应用程序。 BindException继承自SocketException类,因此表明存在与套接字创建或访问相关的错误。
构造函数
以下构造函数可用于 BindException:
- BindException():创建 BindException 类的一个简单实例,没有详细消息
- BindException(String msg):使用指定的消息作为发生绑定错误的原因创建 BindException 类的实例。
方法总结
- 从类Java.lang.Throwable 继承的方法:
addSuppressed、fillInStackTrace、getCause、getLocalizedMessage、getMessage、getStackTrace、getSuppressed、initCause、printStackTrace、setStackTrace、toString。 - 从类Java.lang.Object 继承的方法:
克隆、等于、完成、getClass、hashCode、通知、notifyAll、等待。
例子:
在下面的示例中,我们创建了一个类 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 ,因为该端口已绑定到另一个 Socket。在这里,我们可以简单地为第二个套接字使用另一个任意端口(未使用)来消除此异常。