Add: Primitive first version of NetworkManager

This commit is contained in:
Lars Simon Winzer
2026-03-11 18:23:26 +01:00
parent b1ab8f3982
commit dac05de331
2 changed files with 49 additions and 0 deletions
@@ -1,8 +1,13 @@
package ch.unibas.dmi.dbis.cs108.casono.server;
import ch.unibas.dmi.dbis.cs108.casono.server.network.NetworkManager;
public class ServerApp {
public static void start(String arg) {
int port = Integer.parseInt(arg);
System.out.println("You've selected the server. It will accept connections at port " + port);
NetworkManager networkManager = new NetworkManager(port);
networkManager.start();
}
}
@@ -0,0 +1,44 @@
package ch.unibas.dmi.dbis.cs108.casono.server.network;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import ch.unibas.dmi.dbis.cs108.casono.common.network.Session;
public class NetworkManager implements Runnable {
private Integer port;
private Logger logger;
private Thread thread;
private Boolean running;
public NetworkManager(Integer port) {
this.port = port;
this.logger = LogManager.getLogger(NetworkManager.class);
this.thread = new Thread(this, "networkManager");
this.running = true;
}
public void start() {
logger.debug("Starting server at port " + port);
thread.start();
}
@Override
public void run() {
try (ServerSocket serverSocket = new ServerSocket(port)) {
while (running) {
Socket clientSocket = serverSocket.accept();
System.out.println("Accepted connection from " + clientSocket.getRemoteSocketAddress());
clientSocket.close();
}
} catch (IOException e) {
logger.fatal(e);
}
}
}