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