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..."); } } }