From dc18a650780913cc2a7dba88423b90a7ec171259 Mon Sep 17 00:00:00 2001 From: AleandroPagani Date: Sat, 2 May 2026 19:05:51 +0200 Subject: [PATCH 1/2] Microfix: add break in TCP client if connection fails --- .../it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java b/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java index 3408e99..f3a34e2 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java @@ -99,10 +99,9 @@ public class TCPClient implements IClient { controller.setModel(model); controller.view.render(); } - } catch (IOException e) { + } catch (Exception e) { e.printStackTrace(); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); + break; } } } From fc15a3a15b24175d21d0d235466bda4f045f9bf6 Mon Sep 17 00:00:00 2001 From: AleandroPagani Date: Sat, 2 May 2026 19:35:03 +0200 Subject: [PATCH 2/2] Fix: error managing in TCP client --- .../ingsw/gc14/Network/TCP/Client/TCPClient.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java b/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java index f3a34e2..cfcee1e 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/TCP/Client/TCPClient.java @@ -87,7 +87,14 @@ public class TCPClient implements IClient { private void receiveMessage() { while (true) { try { - Object read = socketReceive.readObject(); + Object read; + try { + read = socketReceive.readObject(); + } catch (IOException e) { + e.printStackTrace(); + break; + } + if (read instanceof NetworkEvent event) { //TODO: avoid instanceof if (event.getIsError()) { System.out.println(event); @@ -99,7 +106,7 @@ public class TCPClient implements IClient { controller.setModel(model); controller.view.render(); } - } catch (Exception e) { + } catch (ClassNotFoundException e) { e.printStackTrace(); break; }