From 5a555c481da8be983d916ba9b03d7e122f0d9497 Mon Sep 17 00:00:00 2001
From: Elrabu <busch.elias@web.de>
Date: Thu, 23 Nov 2023 18:53:11 +0100
Subject: [PATCH] Add: Added another variant of the Server class for test
 purposes.

---
 .../Model/Multiplayer/TestServer/Client.java  | 34 ++++++++++++
 .../TestServer/ConnectionHandling.java        | 13 +++++
 .../Model/Multiplayer/TestServer/Server.java  | 52 +++++++++++++++++++
 3 files changed, 99 insertions(+)
 create mode 100644 src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/Client.java
 create mode 100644 src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/ConnectionHandling.java
 create mode 100644 src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/Server.java

diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/Client.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/Client.java
new file mode 100644
index 00000000..60f17430
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/Client.java
@@ -0,0 +1,34 @@
+package de.hdm_stuttgart.battlearena.Model.Multiplayer.TestServer;
+
+import de.hdm_stuttgart.battlearena.Model.Multiplayer.ConnectionHandler;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.net.*;
+import java.io.*;
+
+public class Client {
+    private Socket clientSocket;
+    private PrintWriter out;
+    private BufferedReader in;
+
+    private static final Logger log = LogManager.getLogger(ConnectionHandler.class);
+
+    public void startConnection(String ip, int port) throws IOException {
+        clientSocket = new Socket(ip, port);
+        out = new PrintWriter(clientSocket.getOutputStream(), true);
+        in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+    }
+
+    public String sendMessage(String msg) throws IOException {
+        out.println(msg);
+        String resp = in.readLine();
+        return resp;
+    }
+
+    public void stopConnection() throws IOException {
+        in.close();
+        out.close();
+        clientSocket.close();
+    }
+}
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/ConnectionHandling.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/ConnectionHandling.java
new file mode 100644
index 00000000..4675cb79
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/ConnectionHandling.java
@@ -0,0 +1,13 @@
+package de.hdm_stuttgart.battlearena.Model.Multiplayer.TestServer;
+
+import java.io.IOException;
+
+public class ConnectionHandling {
+
+    public static void main(String[] args) throws IOException {
+        Client client = new Client();
+        client.startConnection("localhost", 45371);
+        String response = client.sendMessage("hello server");
+        System.out.println("Response: " + response);
+    }
+}
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/Server.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/Server.java
new file mode 100644
index 00000000..e1ad2301
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Multiplayer/TestServer/Server.java
@@ -0,0 +1,52 @@
+package de.hdm_stuttgart.battlearena.Model.Multiplayer.TestServer;
+
+import de.hdm_stuttgart.battlearena.Model.Multiplayer.ConnectionHandler;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.net.*;
+import java.io.*;
+
+public class Server {
+
+
+    private ServerSocket serverSocket;
+    private Socket clientSocket;
+    private PrintWriter out;
+    private BufferedReader in;
+
+    private static final Logger log = LogManager.getLogger(ConnectionHandler.class);
+
+    public static void main(String[] args) throws IOException {
+        Server server = new Server();
+        server.start(45371);
+    }
+
+    public void start(int port) throws IOException {
+        serverSocket = new ServerSocket(port);
+        clientSocket = serverSocket.accept();
+
+        //Data that is Outputed from the server
+        out = new PrintWriter(clientSocket.getOutputStream(), true);
+
+        //Data that is inputed to the server
+        in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+
+        String greeting = in.readLine();
+        if ("hello server".equals(greeting)) {
+            out.println("hello client");
+        }
+        else {
+            out.println("unrecognised greeting");
+        }
+    }
+
+    public void stop() throws IOException {
+        in.close();
+        out.close();
+        clientSocket.close();
+        serverSocket.close();
+    }
+
+
+}
-- 
GitLab