implementado quit, hay que cerrar los sockets TCP cuando terminen las cosas

This commit is contained in:
binlaab
2026-04-27 23:58:44 +02:00
parent 4e60e66926
commit c480c4a831
8 changed files with 50 additions and 16 deletions

View File

@@ -24,6 +24,7 @@ public class NFServer implements Runnable {
private NFServerState state = new NFServerState();
private ServerSocket serverSocket = null;
private volatile boolean stopServer = false; // gracias pcd
public ServerSocket getServerSocket() {
return serverSocket;
@@ -42,6 +43,17 @@ public class NFServer implements Runnable {
serverSocket = new ServerSocket();
serverSocket.bind(serverSocketAddress);
}
public void stopServer() {
// debería cerrar todos los sockets antes de irme
this.stopServer = true;
try {
if (serverSocket != null && !serverSocket.isBound()) {
serverSocket.close();
}
} catch (IOException e) { e.printStackTrace(); }
}
/**
* Método para ejecutar el servidor de ficheros en primer plano. Sólo es capaz
@@ -121,7 +133,7 @@ public class NFServer implements Runnable {
* @see java.lang.Runnable#run()
*/
public void run() {
boolean stopServer = false; // HAY QUE CAMBIAR ESTO PORQUE NO SÉ DE DÓNDE COJONES SALE (ver TODO l. 147)
stopServer = false;
/*
* TODO: (Boletín SocketsTCP) Usar el socket servidor para esperar conexiones de
* otros peers que soliciten descargar ficheros
@@ -170,6 +182,7 @@ public class NFServer implements Runnable {
* servidor en un hilo nuevo que se ejecutará en segundo plano 2) Detener el
* servidor (stopserver) 3) Obtener el puerto de escucha del servidor etc.
*/