From c117379558cb5178cd6c5aac4c16367e933f72bc Mon Sep 17 00:00:00 2001 From: schubertle89824 Date: Tue, 5 Dec 2023 17:00:23 +0100 Subject: [PATCH 1/4] =?UTF-8?q?=C3=84nderungen=20vom=2005.12.2023=20um=201?= =?UTF-8?q?7:00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 1 - .idea/runConfigurations.xml | 10 ---- src/DistributedSorter/SorterClient.java | 26 +++++++++- src/DistributedSorter/SorterServer.java | 66 +++++++++++++++++++++++++ 4 files changed, 90 insertions(+), 13 deletions(-) delete mode 100644 .idea/runConfigurations.xml create mode 100644 src/DistributedSorter/SorterServer.java diff --git a/.idea/misc.xml b/.idea/misc.xml index e6be3f1..5082cfa 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 797acea..0000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/DistributedSorter/SorterClient.java b/src/DistributedSorter/SorterClient.java index 761212f..35077b0 100644 --- a/src/DistributedSorter/SorterClient.java +++ b/src/DistributedSorter/SorterClient.java @@ -1,13 +1,29 @@ package Prog3.src.DistributedSorter; +import java.io.*; +import java.net.Socket; +import java.util.Arrays; import java.util.Scanner; -public class SorterClient { +public class SorterClient implements Runnable{ public static void main(String[] args) { SorterClient client = new SorterClient(); client.run(); } + public static void sendLine(Socket socket, String line) throws IOException { + OutputStream out = socket.getOutputStream(); + PrintWriter writer = new PrintWriter(out); + writer.println(line); + writer.flush(); + } + + public static String receiveLine(Socket socket) throws IOException { + InputStream in = socket.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(in)); + return reader.readLine(); + } + public void run(){ Scanner scanner = new Scanner(System.in); while (scanner.hasNextLine()) { @@ -20,7 +36,13 @@ public class SorterClient { scanner.close(); } - private String sort(String line){ + private String sort(String line) { + try (Socket socket = new Socket("localhost", 12345)) { + sendLine(socket, line); + receiveLine(socket); + } catch (Exception e) { + return "Error connecting to the server."; + } } } diff --git a/src/DistributedSorter/SorterServer.java b/src/DistributedSorter/SorterServer.java new file mode 100644 index 0000000..9003f0b --- /dev/null +++ b/src/DistributedSorter/SorterServer.java @@ -0,0 +1,66 @@ +package DistributedSorter; + +import jdk.jshell.spi.ExecutionControl; + +import java.io.*; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.Arrays; + +public class SorterServer implements Runnable { + + Socket client; + public SorterServer(Socket client) { + this.client = client; + } + + public static void main(String[] args){ + final int port = 12345; + try (ServerSocket socket = new ServerSocket(port)) { + + while (true){ + Socket client = socket.accept(); + Thread thread = new Thread(new SorterServer(client)); + thread.start(); + } + } + catch (Exception e) { + System.err.println("Error: " + e.getMessage()); + } + } + + public static void sendLine(Socket socket, String line) throws IOException { + OutputStream out = socket.getOutputStream(); + PrintWriter writer = new PrintWriter(out); + writer.println(line); + writer.flush(); + } + + public static String receiveLine(Socket socket) throws IOException { + InputStream in = socket.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(in)); + return reader.readLine(); + } + + + private String sort(String line){ + char[] chars = line.toCharArray(); + Arrays.sort(chars); + return new String(chars); + } + + @Override + public void run() { + try{ + String line = receiveLine(client); + String answer = sort(line); + sendLine(client, answer); + } catch (IOException e) { + System.err.println("Fehler"); + } + finally{ + try{client.close();} catch(Exception e) + {} + } + } +} From b677a642e7ef3a36a591915ff2d819479f77646c Mon Sep 17 00:00:00 2001 From: schubertle89824 Date: Tue, 5 Dec 2023 17:03:23 +0100 Subject: [PATCH 2/4] =?UTF-8?q?=C3=84nderungen=20vom=2005.12.2023=20um=201?= =?UTF-8?q?7:00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DistributedSorter/SorterClient.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DistributedSorter/SorterClient.java b/src/DistributedSorter/SorterClient.java index 35077b0..99f3a05 100644 --- a/src/DistributedSorter/SorterClient.java +++ b/src/DistributedSorter/SorterClient.java @@ -1,4 +1,4 @@ -package Prog3.src.DistributedSorter; +package DistributedSorter; import java.io.*; import java.net.Socket; @@ -44,5 +44,6 @@ public class SorterClient implements Runnable{ } catch (Exception e) { return "Error connecting to the server."; } + return line; } } From d36cbd8be7b1377cf37eaa3ae0e5c1e0978712da Mon Sep 17 00:00:00 2001 From: schubertle89824 Date: Tue, 5 Dec 2023 17:09:05 +0100 Subject: [PATCH 3/4] =?UTF-8?q?=C3=84nderungen=20vom=2005.12.2023=20um=201?= =?UTF-8?q?7:00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Prog3/Praktikum03/TriangleChecker.class | Bin 2159 -> 2147 bytes .../Praktikum03/TriangleCheckerTest.class | Bin 1766 -> 0 bytes .../Prog3/Praktikum03/ZahlenfilterTest.class | Bin 1433 -> 0 bytes src/DiningPhilosophers/ForkTest.java | 7 ------- src/DistributedSorter/SorterClient.java | 4 ++-- 5 files changed, 2 insertions(+), 9 deletions(-) delete mode 100644 out/test/Prog3/Praktikum03/TriangleCheckerTest.class delete mode 100644 out/test/Prog3/Praktikum03/ZahlenfilterTest.class delete mode 100644 src/DiningPhilosophers/ForkTest.java diff --git a/out/production/Prog3/Praktikum03/TriangleChecker.class b/out/production/Prog3/Praktikum03/TriangleChecker.class index c1bd145f2d1ec595d9100809be8b297c9c85639d..724004787249dae9ac13f37ee2bab6d15272b656 100644 GIT binary patch delta 87 zcmaDa@K|8OR5r#Flc%wz%gZsaGcYhH0!bwX9R_6va|RU#Ck9mpUj{XXPzH_38tjJ^ m^%!^<^ce&g41j73f#OCCb_~WqRVEA}45kbb4Ca%0IFbR`n+`7k delta 98 zcmaDX@LpiUR5r#dlc%wzYiluZF)%PFGO#l!G3YR;Fqkl?GMF={GuSg|FgP)2F?ca( zGx##-GK4Z1OqO9ktZ2r-1C$qFumGyJWKd(UVz6Vd2CB4S2w|{gh+wdv#E}dDdG!y{ diff --git a/out/test/Prog3/Praktikum03/TriangleCheckerTest.class b/out/test/Prog3/Praktikum03/TriangleCheckerTest.class deleted file mode 100644 index 3b8862c7355d94527c98710554c5f662b0783fc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1766 zcmb_d(Q?~F6g_JTJ9ZROt7#IurA_Lzbxa!t(o(3?*2a~K8O4Fv6{!+g3bNc8 zp6I9W3*?0k56tk&M=_k0Y$a(!=mYlbYWMCv=bpWHSNiMk-~Ryc7*F#^A)SSy;say^ zE*)5}EZw!deSLfH!0v|vnN7!Y!Y2ah%IdCCuLDZ`HIV0jItx|B3_cXN`b}URhR)$= zu)d-90*4H)-F#{H5A8r;rY}bmvw&V{wOXs@1(=nIbML1kyOzTx6td7%T*jP0<$Zxv z-`U>TYM27m_m7sxJQlK8R8d4pV95{m^@9aN_@H5DJpJxv?me%Ce|J!7X~O8X5JOVXZecelGu!!)`|{TJr` zPj+&BMa3<-u5`9LhSH!li;BRF3sTdwhamw?|Aj3uYdW6Y84dRApl9v5v}mT^x7=Ne z#p8TzRKk}IceH#__9SmjKv-;Tf#S}{3!QkJ(dH9XG`t#P8Rndc{SOmR6nCmlZ+ zSnlKikhI0N$JVF%kmo^QF>++S9oJ$(PJ7QsOYNaQ?AxwAJfWG3$)ha~JN7;`y&_d1 z_Wz;lys&$|>3jPE`K~_-`gY5ad0CuLG~?qewXVtfvhHoqvxBB9%P)_?#8VzxmhTQP zm;7bfc)cL7%8|~eke2Fi5WjMeLY2K-maZSOS7Qg<#XZizE0&>`1lPDCNz<9l6R5nz zz%=_p1fP#x#_$v&Yf;p7ddV=K@CkgHkp7G`^#MgK`%IfMW?JQyTW^qiq#R?msJy|I zlTams!26NL0!NFOLP;KCj;=?c@5e;r&}n+EVS^zvyt(%|N)b`O1CG+f6KL4YT7k%#3A7^y#X6 zk;r&WW?7Yzw){-HX=qcY%2GbJEHxrFiGR$*K4l^re1Uy=sw|~M&qAVSZmcJll%?=5 zWqEXtGM<;)hPM2l%34(RocOQE{WT+*RJQd$DNFHE$V;@zear6>zhdm4)QkTBSYbHZ diff --git a/out/test/Prog3/Praktikum03/ZahlenfilterTest.class b/out/test/Prog3/Praktikum03/ZahlenfilterTest.class deleted file mode 100644 index 7b54ca77c3cccd13964d0fc249795e47fe6d27ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1433 zcmbW1YflqF6o%hv3$4pSxk{l0K?KW1mV^*B79w6qNE$RkAokl*Mmn(FC3_+9XZcCu z2Y-M+%J|N<#bS#e+GM*kb1u(&&YAYt?;k$_Y-7Vf0?9N|Ci>7XFnnQO+m>Uy=hlbQ z3t0^X`b)}H;f_GExO{9Ng9m9CCI(;%z?fdQp=k(k<;3SVgc{nv*1L9wU^p7Z6c3?z<6vrjOuOj zHU;{M`_z}ltU%$u!j5FXo}}J-XVj7{D_0&w^;78|*(_3EwCq)F=h*g@-Zu|ZVNJ1& z+4BFAzGA0ay_@GR9f{Ocwt+; z97khBxkpe&*8Bhf diff --git a/src/DiningPhilosophers/ForkTest.java b/src/DiningPhilosophers/ForkTest.java deleted file mode 100644 index ba61875..0000000 --- a/src/DiningPhilosophers/ForkTest.java +++ /dev/null @@ -1,7 +0,0 @@ -package Prog3.src.DiningPhilosophers; - -import static org.junit.jupiter.api.Assertions.*; - -class ForkTest { - -} \ No newline at end of file diff --git a/src/DistributedSorter/SorterClient.java b/src/DistributedSorter/SorterClient.java index 99f3a05..9735ffe 100644 --- a/src/DistributedSorter/SorterClient.java +++ b/src/DistributedSorter/SorterClient.java @@ -40,10 +40,10 @@ public class SorterClient implements Runnable{ try (Socket socket = new Socket("localhost", 12345)) { sendLine(socket, line); - receiveLine(socket); + return receiveLine(socket); } catch (Exception e) { return "Error connecting to the server."; } - return line; + } } From 950557299fea4f38b0d40aaa7bcb06aefa32bd6a Mon Sep 17 00:00:00 2001 From: schubertle89824 Date: Tue, 5 Dec 2023 17:13:41 +0100 Subject: [PATCH 4/4] =?UTF-8?q?=C3=84nderungen=20vom=2005.12.2023=20um=201?= =?UTF-8?q?7:00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DistributedSorter/SorterServer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/DistributedSorter/SorterServer.java b/src/DistributedSorter/SorterServer.java index 9003f0b..458383a 100644 --- a/src/DistributedSorter/SorterServer.java +++ b/src/DistributedSorter/SorterServer.java @@ -55,6 +55,7 @@ public class SorterServer implements Runnable { String line = receiveLine(client); String answer = sort(line); sendLine(client, answer); + System.out.println(line + "-->"+ answer); } catch (IOException e) { System.err.println("Fehler"); }