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;
+        }
+    }
+}