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 {
int port = -1;
int ConnectedPlayers = 0;
ServerSocket serverTCP = null;
GameController gameController;
private List<ClientHandler> clientHandlers;
private int getConnectedPlayers(){
return ConnectedPlayers;
}
public void start(String args[]){
clientHandlers = new ArrayList<>();
@@ -25,19 +30,26 @@ public class TCPServer {
e.printStackTrace();
return;
}
System.out.println("Listening on port " + port);
System.out.println("Listening on port: " + port);
while(true){
Socket clientSocket = null;
try {
try{
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();
}
System.out.println("Accepted");
ClientHandler clientHandler = new ClientHandler(clientSocket, clientHandlers, this.gameController);
ConnectedPlayers++;
ClientHandler clientHandler = new ClientHandler(clientSocket, clientHandlers, gameController);
clientHandlers.add(clientHandler);
Thread t = new Thread(clientHandler);
t.start();