From 41242bf3ed8dce4c5086176539d1c27b14956803 Mon Sep 17 00:00:00 2001 From: darkress <30271678+darkressx@users.noreply.github.com> Date: Sat, 10 Jun 2023 16:44:43 +0200 Subject: [PATCH] some try catching (#1) Co-authored-by: Darkress <30271678+DarkressX@users.noreply.github.com> Reviewed-on: https://git.darkress.xyz/darkress/PixelFloodClient/pulls/1 --- 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..."); } } }