Tecnología

Inicio

Con zócalo de Monitoreo de Java

Toma de objetos de Java se utilizan para representar las conexiones entre dos máquinas. Sin embargo, un programa usando sockets puede empantanarse si el programa espera una conexión a establecer. En este caso, se puede escindir un hilo de ejecución separado que espera la conexión mientras que el programa principal sigue funcionando. Al extender esto, se puede utilizar el hilo separado para controlar las tomas de corriente para conexiones y manejar ellos, sólo notificar al programa cuando se realiza una conexión u otro significativo incluso sucede.

Ejemplo principal ServerSocket

Con el fin de escuchar a un puerto a través de un socket, crear un objeto "SocketServer". Servidores socket de escucha para las conexiones en un puerto específico. A la recepción de la información de conexión en ese puerto, el Socket Server devuelve un objeto "Socket". Los datos recibidos a través de la conexión pueden ser procesados ​​a través de ese objeto socket.

Trapos

Los hilos son ejemplos de ejecución de código dentro de un programa. Estos hilos de ejecución permitir el funcionamiento simultáneo de código, lo que significa que el código puede ser escrito para ejecutar al mismo tiempo a través de diferentes hilos. Así, por ejemplo, un programa que desea controlar una especie de estado de fondo o la conexión puede crear un hilo que hace esto, y llamar al hilo principal cuando algo cambia o se produce una conexión.

Escuchar a los puertos con las cuerdas

Con la creación de otro hilo, puede crear código que controla la toma en segundo plano mientras se ejecuta el programa principal. Por ejemplo, se podría implementar una clase que amplía la clase "Ejecutable", y ejecutarlo como un hilo separado para funcionar en segundo plano, escuchando a un puerto:

clase estática privada SocketListen implementa Ejecutable {

public void run() {

tratar {

listenSocket = new ServerSocket(9999); //listen to port 9999

} Catch (IOException e) {

System.exit(-1); //error

}

Socket ClientSocket = null;
tratar {

received = serverSocket.accept(); //connection object if success

} Catch (IOException e) {

System.exit(-1); //error

}

}
}

La división de la rosca

Si se ha definido una clase ejecutable para su uso como un agente de supervisión / escucha, todo lo que queda es utilizarlo como un hilo. El programa principal puede llamar a un hilo separado, como parte de su ejecución que se ejecutará el código de socket de escucha. Una vez acabados los códigos, ya sea debido al éxito o error de conexión, el subproceso de supervisión se reúne con el hilo principal. El hilo principal se ejecuta un bucle de espera hasta que finalice el monitoreo de rosca:

Tema t = new Thread (nueva SocketListen ());

t.start();

while (t.isAlive ()) {
threadMessage (& quot; A la espera ... & quot;);
t.join (1000); // Espera un segundo antes de repetir en bucle
}