diff --git a/Praktikum/VINF_MaerklinControl/bin/.gitignore b/Praktikum/VINF_MaerklinControl/bin/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..d0380dd1b383afcf938027633d2902f4e14690f3 --- /dev/null +++ b/Praktikum/VINF_MaerklinControl/bin/.gitignore @@ -0,0 +1,2 @@ +/gui/ +/server/ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class index abf9f4e0db7a71c616c8c917f97ef954f63fca27..65bf01205c2e4a0b643560c0e9b5f6a9a535ea37 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class index 9ae81e7efe023ff6ee577cdadb8e82860609ef83..dd619b744dbc378707abbe824475de71efe9180b 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/server/MaerklinServer.class b/Praktikum/VINF_MaerklinControl/bin/server/MaerklinServer.class index a30f632a905c4237764ac5b3635bcbf7cf9d406b..afe7a4d2062fca83c9266f25ce3c80bae44dadef 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/server/MaerklinServer.class and b/Praktikum/VINF_MaerklinControl/bin/server/MaerklinServer.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class b/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class index 739f64cfde4ac5c302dcba68ba9caab5cf5df178..f22ee468a140cc7e74b01e0951de358494f54002 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class and b/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class differ diff --git a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java index e90aec90510bff1d8f13e7d069ad6f0dc474013a..f66ae239f08df593bd1572e5e1d23df28453a8ab 100644 --- a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java +++ b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java @@ -102,7 +102,7 @@ public class MainApp extends Application { @Override public void start(Stage primaryStage) { this.primaryStage = primaryStage; - this.primaryStage.setTitle("M�rklin Control Client"); + this.primaryStage.setTitle("M�rklin Control Client"); this.primaryStage.getIcons().add(new Image("file:res/BO.png")); initRootLayout(); initTabs(); @@ -333,12 +333,12 @@ public class MainApp extends Application { @Override public void run() { if (!connectionEstablished) { - try (Socket socket = new Socket(configuration.getSocketAddress().get().getHostName(), configuration.getSocketAddress().get().getPort()); InputStream inStream = socket.getInputStream(); OutputStream outStream = socket.getOutputStream();) { + try (Socket socket = new Socket(configuration.getSocketAddress().get().getHostName(), configuration.getSocketAddress().get().getPort())) { client = socket; client.setKeepAlive(true); client.setReuseAddress(true); - in = inStream; - out = outStream; + in = client.getInputStream(); + out = client.getOutputStream(); connectionEstablished = true; running = true; UTILITY_THREAD_EXECUTOR.submit((new UpdateFunctionality(CONTROLLER_INSTANCE, in))); @@ -392,7 +392,7 @@ public class MainApp extends Application { } public void parseDatagram (byte[] datagram) { - System.out.println("2: "+DatatypeConverter.printHexBinary(datagram)); + //System.out.println("2: "+DatatypeConverter.printHexBinary(datagram)); if (datagram.length < 5) { setStatus("Error while updating!"); return; @@ -452,7 +452,7 @@ public class MainApp extends Application { for (int i = 0; i < Properties.IN_BUFFER_SIZE; i++) { datagram[i] = buffer[counter-Properties.IN_BUFFER_SIZE+i+1]; } - System.out.println("1: "+DatatypeConverter.printHexBinary(datagram)); + //System.out.println("1: "+DatatypeConverter.printHexBinary(datagram)); parseDatagram(datagram); } else if (dataCounter > 5 && startByte) { diff --git a/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java b/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java index a716f55e8c741cf5cd31a9f76ee7e70bbac52b10..c2774bd217d4ce717b1fc7c705dc880e43323880 100644 --- a/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java +++ b/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java @@ -151,9 +151,9 @@ public class MaerklinServer{ // Starts the thread to broadcast the current status public void statusUpdate(){ for (Socket clientSocket : clients) { - try (OutputStream outStream = clientSocket.getOutputStream()){ + try { //System.out.println("Updating client: "+clientSocket.getRemoteSocketAddress()); - UTILITY_THREAD_EXECUTOR.submit(new UpdateThread(outStream)); + UTILITY_THREAD_EXECUTOR.submit(new UpdateThread(clientSocket.getOutputStream())); } catch (IOException e) { System.out.println("Failed to receive output-stream of one of the clients!"); diff --git a/Praktikum/VINF_MaerklinControl/src/server/UDPListener.java b/Praktikum/VINF_MaerklinControl/src/server/UDPListener.java index 127e4df5452c25e30587e4b3ecbc9a42080efab5..e2d66c56b28c07eef70e15d8cbf8849c352cc792 100644 --- a/Praktikum/VINF_MaerklinControl/src/server/UDPListener.java +++ b/Praktikum/VINF_MaerklinControl/src/server/UDPListener.java @@ -110,6 +110,7 @@ public class UDPListener implements Runnable{ for (Engine train : Engine.engines){ if (train.getEngineID() == getAddress()){ train.engineDirection = getEngineDirection(); + train.engineSpeed = 0; System.out.println("Direction of Engine "+train.getEngineID()+" changed to "+train.getEngineDirection()); break; }