From 6491eb3a85ecbd2f161261ec05731045dd4b1a53 Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Sun, 10 May 2026 19:13:18 +0200 Subject: [PATCH] Fix: RMI Reconnection system --- .../ingsw/gc14/Network/RMI/Server/RMIHeartbeat.java | 9 +-------- .../polimi/ingsw/gc14/Network/RMI/Server/RMIServer.java | 6 ++---- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Server/RMIHeartbeat.java b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Server/RMIHeartbeat.java index e38b489..e9ee1f0 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Server/RMIHeartbeat.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Server/RMIHeartbeat.java @@ -99,14 +99,7 @@ public class RMIHeartbeat { // Remove RMI callback so notifyAll skips this client clients.remove(username); - - // If it was this player's turn, skip it - Game snapshot = this.game; - if (snapshot != null && - snapshot.getCurrentState().getCurrentPlayer().getUserName().equals(username)) { - actionQueue.add(new DisconnectedPlayer(username)); - } - + actionQueue.add(new DisconnectedPlayer(username)); System.out.println("RMI disconnected: " + username); } } \ No newline at end of file diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Server/RMIServer.java b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Server/RMIServer.java index f86e0b6..e5cb7ba 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Server/RMIServer.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Server/RMIServer.java @@ -70,7 +70,7 @@ public class RMIServer extends UnicastRemoteObject implements IGameServer { throws RemoteException { if (preferredInt < 2 || preferredInt > 5) return false; - //synchronized (controller) { + synchronized (controller) { if (playerList.isEmpty()) { model = new Game(preferredInt); controller.setModel(model); @@ -92,12 +92,10 @@ public class RMIServer extends UnicastRemoteObject implements IGameServer { callback.onGameInit(model); System.out.println("Model sent: " + username); actionQueue.add(new ReconnectPlayer(username)); - - return true; } return false; - //} + } } // -------------------------------------------------------------------------