diff --git a/Teams/TCPClient.java b/Teams/TCPClient.java
new file mode 100644
index 0000000000000000000000000000000000000000..a1534c93cf168d5060df4523b6ee324094f5347a
--- /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 0000000000000000000000000000000000000000..4c2ff1eb0763251798074255ae359f84e07f8394
--- /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
Binary files /dev/null and b/Teams/UDPClient.class differ
diff --git a/Teams/UDPClient.java b/Teams/UDPClient.java
new file mode 100644
index 0000000000000000000000000000000000000000..7e89f76a01876c43eca5c0ba3b4f104d8d71d813
--- /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
Binary files /dev/null and b/Teams/UDPServer.class differ
diff --git a/Teams/UDPServer.java b/Teams/UDPServer.java
new file mode 100644
index 0000000000000000000000000000000000000000..416b123c9935b0337708dc797d253860c1efccda
--- /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;
+ }
+ }
+}