feat: handle client deconnexion
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user