From 50542246539506261da8091dbddc2957fb21a9f9 Mon Sep 17 00:00:00 2001 From: Andrin Fassbind Date: Sun, 10 Apr 2022 10:56:59 +0200 Subject: [PATCH] Make ServerConnectionHandler runnable => fixed multiple client connection to server --- .../src/main/java/ch/zhaw/pm2/multichat/server/Server.java | 2 +- .../zhaw/pm2/multichat/server/ServerConnectionHandler.java | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/ch/zhaw/pm2/multichat/server/Server.java b/server/src/main/java/ch/zhaw/pm2/multichat/server/Server.java index 1f903ce..1edb279 100644 --- a/server/src/main/java/ch/zhaw/pm2/multichat/server/Server.java +++ b/server/src/main/java/ch/zhaw/pm2/multichat/server/Server.java @@ -67,7 +67,7 @@ public class Server { while (true) { NetworkHandler.NetworkConnection connection = networkServer.waitForConnection(); ServerConnectionHandler connectionHandler = new ServerConnectionHandler(connection, connections); - connectionHandler.startReceiving(); + new Thread(connectionHandler).start(); System.out.println(String.format("Connected new Client %s with IP:Port <%s:%d>", connectionHandler.getUserName(), connection.getRemoteHost(), diff --git a/server/src/main/java/ch/zhaw/pm2/multichat/server/ServerConnectionHandler.java b/server/src/main/java/ch/zhaw/pm2/multichat/server/ServerConnectionHandler.java index 4c37948..5d9a0f7 100644 --- a/server/src/main/java/ch/zhaw/pm2/multichat/server/ServerConnectionHandler.java +++ b/server/src/main/java/ch/zhaw/pm2/multichat/server/ServerConnectionHandler.java @@ -14,7 +14,7 @@ import java.util.concurrent.atomic.AtomicInteger; import static ch.zhaw.pm2.multichat.server.ServerConnectionHandler.State.*; -public class ServerConnectionHandler { +public class ServerConnectionHandler implements Runnable{ private static final AtomicInteger connectionCounter = new AtomicInteger(0); private final int connectionId = connectionCounter.incrementAndGet(); private final NetworkHandler.NetworkConnection connection; @@ -33,6 +33,11 @@ public class ServerConnectionHandler { private String userName = "Anonymous-"+connectionId; private State state = NEW; + @Override + public void run() { + startReceiving(); + } + enum State { NEW, CONNECTED, DISCONNECTED; }