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; }