From 3a66b22c93e7d2db5cd124bd1bfd1693386831f3 Mon Sep 17 00:00:00 2001 From: Darkress <30271678+DarkressX@users.noreply.github.com> Date: Sat, 10 Jun 2023 04:35:09 +0200 Subject: [PATCH] some try catching --- de/darkress/pixelfood/Main.java | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/de/darkress/pixelfood/Main.java b/de/darkress/pixelfood/Main.java index ac0e76b..f34c71f 100644 --- a/de/darkress/pixelfood/Main.java +++ b/de/darkress/pixelfood/Main.java @@ -9,9 +9,13 @@ import java.util.ArrayList; class Worker extends Thread { + String HOSTNAME; + int PORT; Socket socket; String[] pixelArray; public Worker(String HOSTNAME, int PORT, String[] pixelArray) { + this.HOSTNAME = HOSTNAME; + this.PORT = PORT; try { this.socket = new Socket(HOSTNAME, PORT); } catch (IOException e) { @@ -20,15 +24,21 @@ class Worker extends Thread { this.pixelArray = pixelArray; } + @Override public void run() { while(true) { - for(int i = 0; i < pixelArray.length; i++) { - byte[] payload = pixelArray[i].getBytes(); - try { + try { + for(int i = 0; i < pixelArray.length; i++) { + byte[] payload = pixelArray[i].getBytes(); socket.getOutputStream().write(payload); - } catch (IOException e) { - throw new RuntimeException(e); } + } catch (IOException e) { + try { + this.socket = new Socket(HOSTNAME, PORT); + } catch (IOException i) { + i.printStackTrace(); + } + System.out.println(this.getId() + "just dies. Trying again..."); } } } -- 2.49.1