diff --git a/AufgabenStuff/ClientAnwendung/ClientAnwendung.iml b/AufgabenStuff/ClientAnwendung/ClientAnwendung.iml
index d5c074327501eaec3fe451ed56ce5160f1e97e16..c90834f2d607afe55e6104d8aa2cdfffb713f688 100644
--- a/AufgabenStuff/ClientAnwendung/ClientAnwendung.iml
+++ b/AufgabenStuff/ClientAnwendung/ClientAnwendung.iml
@@ -8,5 +8,4 @@
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
   </component>
-</module>
-
+</module>
\ No newline at end of file
diff --git a/AufgabenStuff/ClientAnwendung/src/heimaufgaben/Client.java b/AufgabenStuff/ClientAnwendung/src/heimaufgaben/Client.java
index d2a2f566b43b31a24c51a841564a2094a7d56281..e1e46ee7c82833225dadd677fb02644749e6226f 100644
--- a/AufgabenStuff/ClientAnwendung/src/heimaufgaben/Client.java
+++ b/AufgabenStuff/ClientAnwendung/src/heimaufgaben/Client.java
@@ -8,5 +8,129 @@ import java.util.*;
 import java.text.*;
 
 public class Client {
-    
+    private String ip = "";
+    private int port = -1;
+    private Socket clientSocket;
+    private BufferedWriter zumServer;
+    private BufferedReader vomServer;
+    public Client() throws IOException{
+
+        // Eingaben müssen aufgenommen werden:
+        BufferedReader info = new BufferedReader(new InputStreamReader(System.in)); //Eingabe von IP und Port, später Methodenaufrufe
+        System.out.println("IP-Adresse?");
+        ip = info.readLine();
+        System.out.println("Port?");
+        String portFragezeichen = info.readLine();  // Port ist vorerst String
+        info.close();
+
+        // Port muss vom String zum Int werden:
+        try{
+            port = Integer.parseInt(portFragezeichen);
+        } catch (NumberFormatException e) { // Falls er keine Zahl ist
+            System.err.println("Der Port ist keine Zahl!");
+            return;
+        }
+
+        // Wenn falsche IP oder port eingegeben wird:
+        if(!ip.equals("127.0.0.1")){
+            if(!ip.equals("localhost"))
+            {
+                System.err.println("Falsche IP!");
+                return;
+            }
+        }
+        if(port != 2022){
+            System.err.println("Falscher Port!");
+            return;
+        }
+
+        // Verbindungsversuch:
+        try {
+            clientSocket = new Socket(ip, port);
+        } catch (IOException e) {
+            System.err.println("Fehler bei clientSocket-Erstellung(IOException)\n-> Läuft der Server?");
+            return;
+        }
+
+        // Erschaffung von Kommunikationsverbindung:
+        try {
+            zumServer = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
+            vomServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+        } catch (IOException e) {
+            System.err.println("Problem beim Bufferedwriter(IOException)");
+            return;
+        }
+
+        // Eingaben werden aufgenommen und bearbeitet bis "close":
+        System.out.println("Verbindung hergestellt, erwarte Auftrag:");
+        while(true)
+        {
+            String eingabe = info.readLine();
+            if(eingabe.equalsIgnoreCase("close")){
+                break;
+            }
+            else if(eingabe.equalsIgnoreCase("ping")){
+                ping();
+            }
+            else if(eingabe.substring(0,4).equalsIgnoreCase("echo")){
+                echo(eingabe);
+            }
+            else if(eingabe.equalsIgnoreCase("current time")){
+                time();
+            }
+            else if(eingabe.equalsIgnoreCase("current date")){
+                date();
+            }
+        }
+        // "close" -> While schleife endet, constructor endet, client ist beendet
+    }
+
+    // Aufruf "ping":
+    private void ping() throws IOException{
+        try {
+            zumServer.write("PING");
+            System.out.println(vomServer.readLine());   // Gibt Antwort des Servers direkt aus
+        } catch (IOException e) {
+            System.err.println("Probleme bei void Ping() (IOException)");
+            return;
+        }
+    }
+
+    // Aufruf "echo":
+    private void echo(String eingabe) throws IOException{
+        try {
+            zumServer.write(eingabe);   // Ganze Botschaft samt ECHO an Server geben
+            System.out.println(kuerzen(vomServer.readLine()));  // Entfernen von "ECHO "
+        } catch (IOException e) {
+            System.err.println("Probleme bei void Echo() (IOException)");
+            return;
+        }
+    }
+
+    // Aufruf "current time":
+    private void time() throws IOException{
+        try {
+            zumServer.write("CURRENT TIME");
+            System.out.println(kuerzen(vomServer.readLine()));  // Entfernen von "TIME "
+        } catch (IOException e) {
+            System.err.println("Probleme bei void Time() (IOException)");
+            return;
+        }
+    }
+
+    // Aufruf "current date":
+    private void date() throws IOException{
+        try {
+            zumServer.write("CURRENT DATE");
+            System.out.println(kuerzen(vomServer.readLine()));  // Entfernen von "DATE "
+        } catch (IOException e) {
+            System.err.println("Probleme bei void Date() (IOException)");
+            return;
+        }
+    }
+
+    // Kürzen der ersten 5 Buchstaben, gebraucht für ECHO, TIME, DATE:
+    private String kuerzen(String eingabe) {
+        return eingabe.substring(5);
+    }
 }
diff --git a/AufgabenStuff/ClientAnwendung/src/heimaufgaben/Main.java b/AufgabenStuff/ClientAnwendung/src/heimaufgaben/Main.java
index 4f5169f29c8109896b92fb32cf01d71ea045dcc6..6f55231e6f5a959aa35e6316b32e82460240e895 100644
--- a/AufgabenStuff/ClientAnwendung/src/heimaufgaben/Main.java
+++ b/AufgabenStuff/ClientAnwendung/src/heimaufgaben/Main.java
@@ -7,13 +7,9 @@ import java.security.*;
 import java.util.*;
 import java.text.*;
 
-
-
 public class Main {
-    public static void main(String[] args) {
+    public static void main(String[] args) throws IOException {
         Client client = new Client();
-        
-
         System.out.println("Der Client wurde beendet.");
     }
 }
diff --git a/AufgabenStuff/ServerAnwendung/ServerAnwendung.iml b/AufgabenStuff/ServerAnwendung/ServerAnwendung.iml
index d5c074327501eaec3fe451ed56ce5160f1e97e16..c90834f2d607afe55e6104d8aa2cdfffb713f688 100644
--- a/AufgabenStuff/ServerAnwendung/ServerAnwendung.iml
+++ b/AufgabenStuff/ServerAnwendung/ServerAnwendung.iml
@@ -8,5 +8,4 @@
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
   </component>
-</module>
-
+</module>
\ No newline at end of file