La java.net.BindException es una excepción que se lanza cuando se produce un error en el enlace cuando una aplicación intenta enlazar un socket a una dirección y un puerto locales. Principalmente, esto puede ocurrir debido a 2 razones: el puerto ya está en uso (debido a otra aplicación) o la dirección solicitada simplemente no se puede asignar a esta aplicación. BindException hereda de la clase SocketException , lo que muestra que hay un error relacionado con la creación o el acceso al socket.
Constructores
Los siguientes constructores están disponibles para BindException:
- BindException(): crea una instancia simple de la clase BindException sin un mensaje detallado
- BindException(String msg): crea una instancia de la clase BindException con el mensaje especificado como el motivo por el que se produjo el error de vinculación.
Resumen del método
- Métodos heredados de la clase java.lang.Throwable:
addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , setStackTrace , toString .
- Métodos heredados de la clase java.lang.Object:
clone , equals , finalize , getClass , hashCode , notificar, notificar a todos , esperar .
Ejemplo:
En el siguiente ejemplo, hemos creado una clase Ex_BindException para demostrar 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(); } }
Producción:
En el código anterior, primero creamos una instancia de la clase ServerSocket utilizando el puerto especificado. Esa instancia está enlazada con éxito. Sin embargo, cuando se crea otra instancia con el mismo puerto, se produce una BindException porque el puerto ya está vinculado al otro Socket. Aquí, simplemente podemos usar otro puerto arbitrario (que no esté en uso) para que el segundo socket elimine esta excepción.
Publicación traducida automáticamente
Artículo escrito por ashutoshrathi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA