From 4a5bc49aa75aaa3444f8a6146db5449701b5ca4b Mon Sep 17 00:00:00 2001 From: Seraina Date: Sun, 27 Mar 2022 14:49:53 +0200 Subject: [PATCH] Added Alexandrs "Tried implementing logout handling (changes only on Server side) " commit --- .../ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java | 1 - .../ch/unibas/dmi/dbis/cs108/multiplayer/server/Server.java | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java index 98e7232..88ff023 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/Client.java @@ -22,7 +22,6 @@ public class Client { this.out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); this.in = new BufferedReader((new InputStreamReader((socket.getInputStream())))); - String randomUserName = NameGenerator.randomName(); //TODO hide connecting logik(next 4 lines) this.userName = userName; this.out.write(getUsername()); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/Server.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/Server.java index 31b72ba..534e936 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/Server.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/Server.java @@ -26,6 +26,12 @@ public class Server { Thread th = new Thread(nextClient); connectedClients.add(nextClient); th.start(); + // close socket + remove client if client is disconnected + if (socket.getInputStream().read() == -1) { + System.out.println("client disconnected. closing socket"); + socket.close(); + connectedClients.remove(nextClient); + } } } catch (IOException e) {