Post Populares

Postado Por: Alma Esqueda lunes, 7 de diciembre de 2015

Las señales que se produjo un error al intentar enlazar un socket a una dirección y el puerto local. Por lo general, el puerto está en uso, o la dirección local solicitada no puede ser asignada.
Esta excepción se lanza para indicar que se produjo un error cuando una aplicación intenta enlazar un socket a una dirección y el puerto local. La principal causa de esta excepción es que, o bien el puerto ya está en uso, o la dirección solicitada no se puede asignar a la aplicación de llamada.
El BindException clase amplía la SocketException clase, que se lanza para indicar un error al crear o acceder a un socket.Además, el SocketException clase extiende la IOException clase, que se utiliza para indicar que se ha producido una excepción de E/S.
La estructura de las BindException
Constructores
*BindException ()
Crea una instancia de la BindException clase, estableciendo nula como su mensaje.
*BindException (String s)
Crea una instancia de la BindException clase, utilizando la cadena especificada como mensaje. El argumento de cadena indica el nombre de la clase que arrojó el error.
El BindException en Java

Como ya explicamos, el BindException se produce cuando la aplicación Java intenta enlazar un socket a una dirección y el puerto local, pero que están siendo utilizados por otra aplicación. Eche un vistazo al siguiente ejemplo:

BindExceptionExample.java:
01
importación java.io.IOException;
02
importación java.net.ServerSocket;

03

04
pública clase BindExceptionExample {

05
     
06
    privada última estática int PORT = 15000;

07
     
08
    públicas estáticas void main (String [] args) lanza IOException {

09
        ServerSocket _socket = nueva ServerSocket (PORT);
10
         

11
        // La siguiente declaración lanza una BindException.
12
        ServerSocket _socket_ = nueva ServerSocket (PORT);

13
         
14
        _socket.close ();

15
        _socket_.close ();
16
    }

17
}

En este ejemplo queremos crear dos instancias del ServerSocket clase. La primera instancia se crea correctamente y se une el puerto especificado. Cuando el segundo ejemplo está a punto de ser creado, usando el mismo puerto, entonces, un BindException se lanza.
Una muestra de la ejecución se muestra a continuación:
1
Excepción en el hilo "principal" java.net.BindException: Dirección ya en uso
2
    en java.net.PlainSocketImpl.socketBind (Método Nativo)

3
    en java.net.AbstractPlainSocketImpl.bind (AbstractPlainSocketImpl.java:382)
4
    en java.net.ServerSocket.bind (ServerSocket.java:375)

5
    en java.net.ServerSocket. (ServerSocket.java:237)
6
    en java.net.ServerSocket. (ServerSocket.java:128)

7
    en main.java.BindExceptionExample.main (BindExceptionExample.java:14)
La forma más sencilla de evitar esta excepción es usar otro puerto y verificar que el puerto no está en uso por otra aplicación.



Deixe uma Resposta

- Autores: -Esqueda Garcia Alma Liliana -Garcia Lara Javier