Fixed: Error Username

This commit is contained in:
rubenpirreram
2026-06-19 20:09:58 +02:00
parent 49d98fa514
commit f8e6921368
4 changed files with 10 additions and 4 deletions
@@ -90,7 +90,13 @@ public class GameController {
* {@code false} otherwise.
*/
public synchronized boolean addPlayer(String username) {
return model.addPlayer(new Player(username));
if(username.trim().length()>10)
return false;
Player player = model.getPlayerByUsername(username);
if(player!=null)
return false;
player = new Player(username);
return model.addPlayer(player);
}
/**
@@ -3,7 +3,7 @@ package it.polimi.ingsw.gc14;
/** Enumeration of error types that can be returned by server-side operations. */
public enum ErrorType {
/** The chosen username is already taken by another connected player. */
USERNAME_ALREADY_USED("Username is already in use"),
INVALID_USERNAME("Username is already in use or too long"),
/** The user is already connected to the server. */
USER_ALREADY_CONNECTED("User is already connected"),
/** The requested number of players is outside the allowed range. */
@@ -112,7 +112,7 @@ public class RMIServer extends UnicastRemoteObject implements IGameServer {
System.out.println("Heartbeat connected for: " + username);
return null;
} else {
return ErrorType.USERNAME_ALREADY_USED;
return ErrorType.INVALID_USERNAME;
}
}
@@ -186,7 +186,7 @@ public class TCPServer {
new Thread(handler).start();
continue;
} else {
eventAddPlayer.setErrorType(ErrorType.USERNAME_ALREADY_USED);
eventAddPlayer.setErrorType(ErrorType.INVALID_USERNAME);
eventAddPlayer.setIsError(true);
clientSend.writeObject(eventAddPlayer);
clientSocket.close();