From 390c60695c118e65d02caebd0f205a06586989d5 Mon Sep 17 00:00:00 2001 From: Dimitri Tayo Fongang Wembe <dimitri.wembe.tayo@fau.de> Date: Fri, 26 May 2023 21:23:14 +0200 Subject: [PATCH] add Team files --- Teams/TCPClient.java | 36 +++++++++++++++++++++++++++++++ Teams/TCPServer.java | 48 +++++++++++++++++++++++++++++++++++++++++ Teams/UDPClient.class | Bin 0 -> 1310 bytes Teams/UDPClient.java | 40 ++++++++++++++++++++++++++++++++++ Teams/UDPServer.class | Bin 0 -> 1757 bytes Teams/UDPServer.java | 49 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 173 insertions(+) create mode 100644 Teams/TCPClient.java create mode 100644 Teams/TCPServer.java create mode 100644 Teams/UDPClient.class create mode 100644 Teams/UDPClient.java create mode 100644 Teams/UDPServer.class create mode 100644 Teams/UDPServer.java diff --git a/Teams/TCPClient.java b/Teams/TCPClient.java new file mode 100644 index 0000000..a1534c9 --- /dev/null +++ b/Teams/TCPClient.java @@ -0,0 +1,36 @@ +import java.io.DataOutputStream; +import java.io.IOException; +import java.net.Socket; + +public class TCPClient { + // start client and expects IP-Adress and Serverport as arguments + public static void main(String[] args) { + if (args.length != 2) { + System.out.println("Please Type in servername (IP-Adress)and Serverport as arguments"); + return; + } + + // safe name and port as variables + String serverName = args[0]; + int serverPort = Integer.parseInt(args[1]); + + try { + // create new socket with the given data + Socket socket = new Socket(serverName, serverPort); + // create DataOutStream from socket to send data to server + DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream()); + + // send all numbers 0...1000000 in a loop part by part + for (int i = 0; i <= 1000000; i++) { + outputStream.writeInt(i); + } + + // close resources + outputStream.close(); + socket.close(); + System.out.println("Send numbers successfully :) "); + } catch (IOException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/Teams/TCPServer.java b/Teams/TCPServer.java new file mode 100644 index 0000000..4c2ff1e --- /dev/null +++ b/Teams/TCPServer.java @@ -0,0 +1,48 @@ +import java.io.DataInputStream; +import java.io.IOException; +import java.net.ServerSocket; +import java.net.Socket; + +public class TCPServer { + + // server started and expects serverport as argument + public static void main(String[] args) throws IOException { + if (args.length != 1) { + System.out.println("Please give Serverport as argument"); + } + //given arg will be saved as an integer + int serverPort = Integer.parseInt(args[0]); + + // ServerSocket will be crested with the given port and wait for incoming connection + ServerSocket serverSocket = new ServerSocket(serverPort); + System.out.println("** start server ** \nwaiting for connection... (now you should start the client ;) )"); + + while (true) { + // as far as a client try to connect, the server will accept and a Socket for communication will be created + Socket clientSocket = serverSocket.accept(); + System.out.println("Client connected."); + + // create DataInputstream from socket, to read data from client + try (DataInputStream inputStream = new DataInputStream(clientSocket.getInputStream())) { + boolean error = false; + + // loop to check numbers 1...1000000 + for (int i = 0; i <= 1000000; i++) { + // get current number from inputstream + int receivedNumber = inputStream.readInt(); + // compare actual and expected and throw error if something is missing + if (receivedNumber != i) { + System.out.println("Error: expected number: " + i + ", but received: " + receivedNumber); + error = true; + } + } + // if every number is received, print success + if (!error) { + System.out.println("All numbers received successfully :)"); + } + } + //close all resources + clientSocket.close(); + } + } +} \ No newline at end of file diff --git a/Teams/UDPClient.class b/Teams/UDPClient.class new file mode 100644 index 0000000000000000000000000000000000000000..7e16af19aa4476140d0b6de915189abed1d45208 GIT binary patch literal 1310 zcmX^0Z`VEs1_pD6AT9<`1|?1gWd;=v230NwH3oGq1`P&HE(Uo9Ep`TNE(Uf6C1wVG zCkHMD9R^(xp$8)L*%=JD7<d^BK?;mOgfRz$2|I%+7lROk89ReHJA(xy1Dj1|US^3M zBLlOBW*8#_i*tTTDkB5GPi9`KUukYqYEejHQcfx(150jVW*#Ghm`1cuR$^JAeokUu zx_)p;QD$DcHAo|Ga7kivwr^qqSUo#~B|C!^JA*YN16Oc<X;E^jTPDa9zEGC{=bX&c zyb?W-DLf2f4C3qzHarZr40enR4goo-iN&c3A(aKG3YmEd#i>PQsYQ8-xv2^oo&ma! zDMhKp#hQtEDGI@0nS%VH5{1NKg~X!t(%jU%l45oSdmaV{21j-VCmsf81{WR%R|Ypm z262#G`gy4(`YwqjiRnd&xxx9#*{LP$4DLJ(9t@s53|=6@o52U0+JHomT98wHc^Lc{ z{COAx7{nPFWP?-lQWWyQVN|S8T$-GmT3nn~nv+whV5O<R$RG^1G&5h{)8DlsIkli9 zGe3`qArPdM6CMhT3<6+f;L!9>%1TWxVPp`-62vG9A;HebAOhA4@|R~`YKdbCIDAl5 zRu-3}<}xxc=a-f+GKfN=E;C<0peQr1B)Fs~H8Iy3$*D-fj124rAVoQOj0~b05RG70 zLM#Wzxggknu&8HVNosm(5hDXfL1IyHs%IX^I&9iJ85ua!Q%jsG{StFi85y*&se#yr z<}bKA^D^`GohnOGol4Wvz&0l4<m4wOmZUN=NN9L!LN%i(vSwspD<~}iyNWfjs3@_L zk%2`+GunxfK~^K$$rGw4wL~8&Agw(?>6)cDH7|vcK?dqhkfUIU2$C?sA;FrQlV1$V zH{dV>XN8cW#N<>4MFtTDQ3eoTVqgTNb_PZU2?hoRSq4T1Mg|53R;}#}j2jsk7#JBO z85kJYz=G@yoD5P7(h#MLTnuas91IK$#ajDV=QHqZVqg+t-p0VPQH$BgM~lU12Lr3E z_6`O%zugS%k=q$KtXP=MSVdWdI2SYMvF~8u5@p@Sz`c!u$BJz?18<}xn<U#lU776+ zd{*p|ERyWo82DRQ8JGXRD9N&oK>%d7;5G)9<qRBty4x6pH!?6XNHJtF<T3~`Fo7ND z#URAMzyNX*Hv=C74+B2~KZ7uX0D}~R2!lL>7=s3bB!dxyG=l?!EJFZ;JVQ8xBttBN z5<?P$GD8-F8bdCF3PT=)Dnk*2I)e-Y1A{IDEB}86X$CfS23d9nIYxE{d3FYNMh1po d42J(1_!*d?;tY)J3_>gnj0_443=B*RiU56GGVTBX literal 0 HcmV?d00001 diff --git a/Teams/UDPClient.java b/Teams/UDPClient.java new file mode 100644 index 0000000..7e89f76 --- /dev/null +++ b/Teams/UDPClient.java @@ -0,0 +1,40 @@ +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.nio.ByteBuffer; + +public class UDPClient { + // start client and expects IP-Adress and Serverport as arguments + public static void main(String[] args) { + if (args.length != 2) { + System.out.println("Please Type in servername (IP-Adress)and Serverport as arguments"); + return; + } + + String serverName = args[0]; + int serverPort = Integer.parseInt(args[1]); + + try { + // create ServerAdress from servername (std. localhost) + InetAddress serverAddress = InetAddress.getByName(serverName); + // create DatagramSocket to send datagrams + DatagramSocket socket = new DatagramSocket(); + + // loop... + for (int i = 0; i <= 1000000; i++) { + // i is converted in a Byte-Array so it can be sent + byte[] sendBuffer = ByteBuffer.allocate(4).putInt(i).array(); + // create DatagramPackage with the cinverted number + DatagramPacket sendPackage = new DatagramPacket(sendBuffer, sendBuffer.length, serverAddress, serverPort); + // Package will be sent + socket.send(sendPackage); + } + + socket.close(); + System.out.println("Send numbers successfully :) "); + } catch (IOException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/Teams/UDPServer.class b/Teams/UDPServer.class new file mode 100644 index 0000000000000000000000000000000000000000..69375ee3e319b357f948a9b0cbf4837f59be342f GIT binary patch literal 1757 zcmX^0Z`VEs1_pD6BrXOK1|?1gWd;=v230NwH3oGq1`P&Hb_Ojj1~vw54h9`|23;-& zP6j<@27V_8kf1(@YXBk)xfqNXj6sBn5Ca2)1qXvAJA)NFgEb=qn@wh3W{Djm1G9!^ z7$XCVbAC!HBLlxrW?rgaX>L+#QAlD^PAVe<OKxIj9wUR8Mzl{>Vp*boPGVlVesD=q zW?s5ANF#4>Nn&!gZ(;#hJv)O9JA*AF1D9(>a%w?IW`15VJA)k~16Oc<X;E^jTPDaz zzEGEd;MAhB)FM5Qkvt5d3}WmI_B;#@433NpN&z{kiN&c3>6vAz3J_%l`9&oPiNy+u zMd_uvsd**r3{E@@&I~T>46Zy3ZVc{>4B{Yz^z%|n^j#8564Q$kbA$7fvr|hzW_vI) z_;6`yDHN9^7L_OzgDqCj(o*0mPs}XI%u82D%P&$WNCYX@)6-MX$jdKRsLU@_D9*?) z%}If3E6GSzNY2Sj%`4HwW?KMQJIFRq9tJN4Zyp98245ZqKL&qxh5#OhK!zY5hF}JN zMg{?={QQ#QlA^={-_(+f{FGvTHii%mhEN`cFotkO1{KGg9ECh^_!lb_r6#9lmZhdB z6qhC^rxq8dmFDDBDp+YUGH}8}kdZ+E>~(Oo_$OthCYLZW2xEyWMh2#6Cq@Qgu<Fcw zeNTUQ6rq?ATv=R_n#;(*oL^eP$RG-d^vrzyfTGO2lHih})WlqCBx8_-85!6MK#Fqm z7#T!0AR58WLP{-yVC%u6o_Qsy>8VAG3>*cCMa8L}c_8bsY4c=cVA1ddr8PE<XeTg( z9U3%@3^Gt1$Waf83~=gXPfslYr3jD_njrskrl*$pq~@iUWPnq?C(J8(nfdxol_jZ8 zrD<s(N3oO_B^EF;NP}$j)P#5jRShT)rKgs7=9O?UL@-1$GHAIL73CLMDWp~uq$Zc7 zra<G-N`X;FA*r+k9-USSjEoH8xry1S&iQ%Ci6!BgB^l27dBr7(c_qc5oaPC$5FAd> z&|_za0;Q2SMg|o`7-r^`<!7ftvm?Ybx5VU<{Gv*Bh6F|iHlO_b?9u{81|HA6ywoD+ zoW$bd)M7@48PGrjn-4Vuk{mq}^HOqBi&Y>Rts(vfD}y=%Nd!e>NM%7P7UjqZ5t2Hs zp@9iD6l#QXVopwQW=X0wJ3}HPgDQsqu(^$qK@Pt<21N#81`!4jU}9hdl`#yA4B`w7 z46+Q242%p646It)85lP*FfcGONH8!kuz>~H7&sXu8KfAPKuQ^v8CV!N7#J9)XzgQ} z&%m>Zfk}vY8w1NmEoP$~46HW08Q3DFw==N&vhU&WV>V*}$#ZODVA;*U8L6wgZ#x5* z6)UqDn<$$Q_hJSI9ZA-03_Ku$ml;Iz?O@>F#vowEF3K*-HlIOi69bbdn<)D(20;df zZ44};EVCHcSj<>j*cg}p-w)z(gUlD&#=ydC#<KkXR0akHCa}xH7(^Ku7&sZ&7`Pbt z7`Peu8F(4Q7z7yP8H5>>8AKV>7$h0=7-Sf%7~~jS7!(-17!(;|8B`cj7*rXG8Ppgm z7}Oc68RQrm8MGPN7<3r=81xt>GUzi%GcYhHGO+RgXAomxWoM9KWM^PwXOLxNVE79v zusIoRe=)G~Fvu}5Ft9K%GRQM9Gbk{C90f9-fq{#Gks+EPo*{-olEIXLfq{d8k-?0C Hk-;1Q0GqlI literal 0 HcmV?d00001 diff --git a/Teams/UDPServer.java b/Teams/UDPServer.java new file mode 100644 index 0000000..416b123 --- /dev/null +++ b/Teams/UDPServer.java @@ -0,0 +1,49 @@ +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.nio.ByteBuffer; + +public class UDPServer { + // server started and expects serverport as argument + public static void main(String[] args) throws IOException { + if(args.length != 1) { + System.out.println("Please give Serverport as argument"); + return; + } + int serverPort = Integer.parseInt(args[0]); + + // create datagramsocket with given data + DatagramSocket serverSocket = new DatagramSocket(serverPort); + + // create buffer to safe incoming data later + byte[] receiveBuffer = new byte[4]; // 4 Bytes bc. Integer + + int error = 0; + + while(true) { + + System.out.println("\n** start server ** \nwaiting for packet... (now you should start the client)"); + + // create DatagramPackage to receive data and safe in the buffer + DatagramPacket receivePackage = new DatagramPacket(receiveBuffer, receiveBuffer.length); + // loop to check numbers 1...1000000 + for(int i = 0; i <= 1000000; i++) { + // serversocket receives data and safe thes in receivePackage + serverSocket.receive(receivePackage); + int receivedNumber = ByteBuffer.wrap(receivePackage.getData(), 0, receivePackage.getLength()).getInt(); + + // compare actual and expected and throw error if something is missing + if(receivedNumber != i) { + System.out.println("Error: expected number: " + i + ", but received: " + receivedNumber); + if(error == 0) + error = 1; + } + } + // if every number is received, print success + if(error == 0) + System.out.println("All numbers received successfully :)"); + + error = 0; + } + } +} -- GitLab