From 179f16d99378ee6df02b686e180a44e9de82f71f Mon Sep 17 00:00:00 2001
From: 0qln <0qln@proton.me>
Date: Wed, 12 Nov 2025 22:31:09 +0100
Subject: [PATCH] aufgabe 3
---
praktikum-5/.gitignore | 2 ++
praktikum-5/aufgabe1/InternetAdresse.java | 32 +++++++++++++++++
praktikum-5/aufgabe2/MACAdresse.java | 43 +++++++++++++++++++++++
praktikum-5/aufgabe3/Client.java | 38 ++++++++++++++++++++
praktikum-5/aufgabe3/Server.java | 42 ++++++++++++++++++++++
praktikum-5/build.xml | 25 +++++++++++++
praktikum-5/shell.nix | 13 +++++++
7 files changed, 195 insertions(+)
create mode 100644 praktikum-5/.gitignore
create mode 100644 praktikum-5/aufgabe1/InternetAdresse.java
create mode 100644 praktikum-5/aufgabe2/MACAdresse.java
create mode 100644 praktikum-5/aufgabe3/Client.java
create mode 100644 praktikum-5/aufgabe3/Server.java
create mode 100644 praktikum-5/build.xml
create mode 100644 praktikum-5/shell.nix
diff --git a/praktikum-5/.gitignore b/praktikum-5/.gitignore
new file mode 100644
index 0000000..43cad3d
--- /dev/null
+++ b/praktikum-5/.gitignore
@@ -0,0 +1,2 @@
+build
+result
diff --git a/praktikum-5/aufgabe1/InternetAdresse.java b/praktikum-5/aufgabe1/InternetAdresse.java
new file mode 100644
index 0000000..26d749b
--- /dev/null
+++ b/praktikum-5/aufgabe1/InternetAdresse.java
@@ -0,0 +1,32 @@
+// DK, 18.11.2022
+
+import java.net.UnknownHostException;
+import java.net.InetAddress;
+
+public class InternetAdresse {
+ public static void main( String args[] ) {
+ try {
+ InetAddress iaddr1 = InetAddress.getByName("www.fh-dortmund.de");
+ InetAddress iaddr2 = InetAddress.getLocalHost();
+ InetAddress iaddr3 = InetAddress.getByName("localhost");
+ System.out.println(iaddr1.getHostName() + ": " + iaddr1.getHostAddress());
+ System.out.println(iaddr2.getHostName() + ": " + iaddr2.getHostAddress());
+ System.out.println(iaddr3.getHostName() + ": " + iaddr3.getHostAddress());
+ System.out.println();
+
+ byte[] ip = iaddr3.getAddress();
+ for(int i = 0; i < ip.length; i++) {
+ System.out.println(i + ": " + ip[i]);
+ }
+ System.out.println();
+
+ InetAddress[] iaddr4 = InetAddress.getAllByName("www.adeso.de");
+ for (int i = 0; i < iaddr4.length; i++) {
+ System.out.println(i + ": " + iaddr4[i].getHostName() + ": " + iaddr4[i].getHostAddress());
+ }
+ }
+ catch (UnknownHostException e) {
+ System.out.println( "Host nicht bekannt" );
+ }
+ }
+}
diff --git a/praktikum-5/aufgabe2/MACAdresse.java b/praktikum-5/aufgabe2/MACAdresse.java
new file mode 100644
index 0000000..172e21d
--- /dev/null
+++ b/praktikum-5/aufgabe2/MACAdresse.java
@@ -0,0 +1,43 @@
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.net.SocketException;
+import java.net.NetworkInterface;
+
+public class MACAdresse {
+ public static void main( String args[] ) {
+ try {
+ InetAddress iaddr1 = InetAddress.getByName("www.fh-dortmund.de");
+ InetAddress iaddr2 = InetAddress.getLocalHost();
+ InetAddress iaddr3 = InetAddress.getByName("localhost");
+ System.out.println(iaddr1.getHostName() + ": " + iaddr1.getHostAddress());
+ System.out.println(iaddr2.getHostName() + ": " + iaddr2.getHostAddress());
+ System.out.println(iaddr3.getHostName() + ": " + iaddr3.getHostAddress());
+ System.out.println();
+
+ byte[] ip = iaddr3.getAddress();
+ for(int i = 0; i < ip.length; i++) {
+ System.out.println(i + ": " + ip[i]);
+ }
+ System.out.println();
+
+ InetAddress[] iaddr4 = InetAddress.getAllByName("www.adeso.de");
+ for (int i = 0; i < iaddr4.length; i++) {
+ System.out.println(i + ": " + iaddr4[i].getHostName() + ": " + iaddr4[i].getHostAddress());
+ }
+ System.out.println();
+
+ var net = NetworkInterface.getByName("eth0");
+ byte[] macAdress = net.getHardwareAddress();
+ for (int i = 0; i < macAdress.length; i++) {
+ System.out.println(i + ": " + macAdress[i]);
+ }
+ }
+ catch (UnknownHostException e) {
+ System.out.println( "Host nicht bekannt: " + e );
+ }
+ catch (SocketException e) {
+ System.out.println("Socket exception: " + e);
+ }
+ }
+
+}
diff --git a/praktikum-5/aufgabe3/Client.java b/praktikum-5/aufgabe3/Client.java
new file mode 100644
index 0000000..7f90937
--- /dev/null
+++ b/praktikum-5/aufgabe3/Client.java
@@ -0,0 +1,38 @@
+package aufgabe3;
+
+import java.net.Socket;
+import java.net.UnknownHostException;
+import java.util.Scanner;
+import java.io.OutputStreamWriter;
+import java.io.IOException;
+
+public class Client {
+ private int port;
+
+ public Client(int port) {
+ this.port = port;
+ }
+
+ public void send(String msg) throws IOException {
+ var socket = new Socket("localhost", port);
+ var out = socket.getOutputStream();
+ var writer = new OutputStreamWriter(out);
+ writer.write(msg);
+ writer.flush();
+ writer.close();
+ }
+
+ public static void main(String[] args) {
+ try {
+ int port = 4711;
+ var client = new Client(port);
+ var reader = new Scanner(System.in);
+ while (true) {
+ var msg = reader.nextLine();
+ client.send(msg);
+ }
+ } catch (Exception e) {
+ System.out.println(e);
+ }
+ }
+}
diff --git a/praktikum-5/aufgabe3/Server.java b/praktikum-5/aufgabe3/Server.java
new file mode 100644
index 0000000..148d5a8
--- /dev/null
+++ b/praktikum-5/aufgabe3/Server.java
@@ -0,0 +1,42 @@
+package aufgabe3;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+public class Server {
+ private ServerSocket socket;
+
+ public Server(ServerSocket socket) {
+ this.socket = socket;
+ }
+
+ public String receive() throws IOException {
+ var client = socket.accept();
+ var in = client.getInputStream();
+ var reader = new InputStreamReader(in);
+ var result = "";
+ var curr = reader.read();
+ while (curr != -1) {
+ result += (char)curr;
+ curr = reader.read();
+ }
+ return result;
+ }
+
+ public static void main(String[] args) {
+ try {
+ int port = 4711;
+ var socket = new ServerSocket(port);
+ var server = new Server(socket);
+ System.out.println("Listening on port " + port);
+ while (true) {
+ var msg = server.receive();
+ System.out.println("Received message: " + msg);
+ }
+ } catch (Exception e) {
+ System.out.println(e);
+ }
+ }
+}
diff --git a/praktikum-5/build.xml b/praktikum-5/build.xml
new file mode 100644
index 0000000..c430d7a
--- /dev/null
+++ b/praktikum-5/build.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/praktikum-5/shell.nix b/praktikum-5/shell.nix
new file mode 100644
index 0000000..0f505db
--- /dev/null
+++ b/praktikum-5/shell.nix
@@ -0,0 +1,13 @@
+with import {};
+ mkShell {
+ packages = [
+ openjdk
+ ant
+ astyle
+ jdt-language-server
+ ];
+
+ shellHook = ''
+ echo "Usage Example: ant run -Dmain-class=aufgabe3.Server"
+ '';
+ }