Add: Partial Implementation Of TCPServer.java.

This commit is contained in:
GabrieleRadice
2026-04-18 18:11:48 +02:00
parent ffdc8f6d88
commit 9f8413fdc2
@@ -9,11 +9,16 @@ import java.util.List;
public class TCPServer { public class TCPServer {
int port = -1; int port = -1;
int ConnectedPlayers = 0;
ServerSocket serverTCP = null; ServerSocket serverTCP = null;
GameController gameController; GameController gameController;
private List<ClientHandler> clientHandlers; private List<ClientHandler> clientHandlers;
private int getConnectedPlayers(){
return ConnectedPlayers;
}
public void start(String args[]){ public void start(String args[]){
clientHandlers = new ArrayList<>(); clientHandlers = new ArrayList<>();
@@ -25,19 +30,26 @@ public class TCPServer {
e.printStackTrace(); e.printStackTrace();
return; return;
} }
System.out.println("Listening on port " + port); System.out.println("Listening on port: " + port);
while(true){ while(true){
Socket clientSocket = null; Socket clientSocket = null;
try{ try{
clientSocket = serverTCP.accept(); clientSocket = serverTCP.accept();
} catch (IOException e) { if(!gameController.addPlayer(clientSocket.getInputStream().toString()) || ConnectedPlayers >= clientHandlers.size()){
clientSocket.close();
System.out.println("Player already present or username is invalid. Connection terminated.\n");
}
}
catch (IOException e){
e.printStackTrace(); e.printStackTrace();
} }
System.out.println("Accepted"); System.out.println("Accepted");
ClientHandler clientHandler = new ClientHandler(clientSocket, clientHandlers, this.gameController); ConnectedPlayers++;
ClientHandler clientHandler = new ClientHandler(clientSocket, clientHandlers, gameController);
clientHandlers.add(clientHandler); clientHandlers.add(clientHandler);
Thread t = new Thread(clientHandler); Thread t = new Thread(clientHandler);
t.start(); t.start();