feat: handle client deconnexion

This commit is contained in:
Morph01
2025-04-01 12:47:54 +02:00
parent 4894c2555d
commit 5b3abadfb6
4 changed files with 99 additions and 36 deletions

View File

@@ -15,10 +15,18 @@ public class ClientHandler implements Runnable {
this.client = client;
}
public void sendConnectedClients() {
private void sendConnectedClients() {
Server.sendMessage(clientHandlerSocket, Server.getPseudos(), client.getAddress(), client.getPort());
}
private void handleDeconnexion(String message) {
if (message.equals("DISCONNECT")) {
System.out.println("Déconnexion du client : " + client.getPseudo());
Server.removeClientHandler(client.getPseudo());
stop();
}
}
public void stop() {
running = false;
if (clientHandlerSocket != null && !clientHandlerSocket.isClosed()) {
@@ -34,12 +42,6 @@ public class ClientHandler implements Runnable {
":" +
client.getPort());
// try {
// socket.setSoTimeout(30000);
// } catch (Exception e) {
// System.err.println("Could not set socket timeout");
// }
while (running && !clientHandlerSocket.isClosed()) {
DatagramPacket packet = Server.receivedPacket(clientHandlerSocket);
if (packet == null)
@@ -58,14 +60,7 @@ public class ClientHandler implements Runnable {
message);
sendConnectedClients();
// Reply with echo
// String response = "ECHO: " + message;
// Server.sendMessage(
// socket,
// response,
// client.getAddress(),
// client.getPort()
// );
handleDeconnexion(message);
}
System.out.println(