From 0ebac8580efd286da55cfb029748996e621fa93c Mon Sep 17 00:00:00 2001 From: eb093 <eb093@hdm-stuttgart.de> Date: Mon, 27 Nov 2023 21:21:08 +0100 Subject: [PATCH] Added: x and y cord as array send to server. --- .../Model/Multiplayer/TestServer/Client.java | 14 ++++---- .../TestServer/ConnectionHandling.java | 25 +++++++++------ .../Model/Multiplayer/TestServer/Server.java | 32 ++++++++----------- 3 files changed, 35 insertions(+), 36 deletions(-) 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 index 1b8cf250..d85b3389 100644 --- 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 @@ -6,6 +6,7 @@ import org.apache.logging.log4j.Logger; import java.net.*; import java.io.*; +import java.util.Arrays; public class Client { private Socket clientSocket; @@ -20,14 +21,11 @@ public class Client { in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); } - public int sendX(int number) throws IOException { - out.println("x:" + number); - return number; - } - - public int sendY(int number) throws IOException { - out.println("y:" + number); - return number; + public int[] sendcords(int[] cords) throws IOException { + String message = String.join(",", Arrays.stream(cords).mapToObj(String::valueOf).toArray(String[]::new)); + out.println(message); + log.info("Sent coordinates: " + message); + return cords; } 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 index 52a15403..e11381ac 100644 --- 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 @@ -1,23 +1,30 @@ package de.hdm_stuttgart.battlearena.Model.Multiplayer.TestServer; import java.io.IOException; +import java.lang.reflect.Array; import java.util.concurrent.TimeUnit; public class ConnectionHandling { + private int px; + + private int py; + + private static int[] coordinates = {5,10}; + public static void main(String[] args) throws IOException, InterruptedException { Client client = new Client(); client.startConnection("localhost", 4444); - for (int i = 1; i < 10; i++){ - int x = client.sendX(1+i); - System.out.println(x); - - TimeUnit.MILLISECONDS.sleep(100); + int[] cords = client.sendcords(coordinates); + System.out.println(cords); + } - int y = client.sendY(i); - System.out.println(y); + public int getPx() { + return px; + } - TimeUnit.SECONDS.sleep(1); - } + public int getPy() { + return py; } } + 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 index a57d69fd..378a1f00 100644 --- 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 @@ -6,6 +6,7 @@ import org.apache.logging.log4j.Logger; import java.net.*; import java.io.*; +import java.util.Arrays; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -17,6 +18,8 @@ public class Server { private static int px; private static int py; + private static int[] cords; + public static void main(String[] args) throws IOException { Server server = new Server(); log.info("server starting..."); @@ -55,33 +58,24 @@ public class Server { String inputLine = localIn.readLine(); + log.info(inputLine); + if (inputLine != null) { - if (inputLine.startsWith("x:")) { - int receivedX = Integer.parseInt(inputLine.substring(2)); - px = receivedX; - - localOut.println(inputLine); - localOut.flush(); - log.info("Current X and Y: " + px + " / " + py); - log.info("Sent response to client: " + receivedX); - - } else if (inputLine.startsWith("y:")) { - int receivedY = Integer.parseInt(inputLine.substring(2)); - py = receivedY; - - localOut.println(inputLine); - localOut.flush(); - log.info("Current X and Y: " + px + " / " + py); - log.info("Sent response to client: " + receivedY); + // Assuming that the input line is a comma-separated list of integers + String[] coordinates = inputLine.split(","); + cords = new int[coordinates.length]; + for (int i = 0; i < coordinates.length; i++) { + cords[i] = Integer.parseInt(coordinates[i]); } - } + + log.info(cords); + } catch (IOException e) { throw new RuntimeException(e); } }, 0, 250, TimeUnit.MILLISECONDS); } - } } -- GitLab