From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/EchoServer.java | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/EchoServer.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/EchoServer.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/EchoServer.java b/Master/Reference Architectures and Patterns/hjp5/examples/EchoServer.java new file mode 100644 index 0000000..d0d93e0 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/EchoServer.java @@ -0,0 +1,56 @@ +/* EchoServer.java */ + +import java.net.*; +import java.io.*; + +public class EchoServer +{ + public static void main(String[] args) + { + int cnt = 0; + try { + System.out.println("Warte auf Verbindungen auf Port 7..."); + ServerSocket echod = new ServerSocket(7); + while (true) { + Socket socket = echod.accept(); + (new EchoClientThread(++cnt, socket)).start(); + } + } catch (IOException e) { + System.err.println(e.toString()); + System.exit(1); + } + } +} + +class EchoClientThread +extends Thread +{ + private int name; + private Socket socket; + + public EchoClientThread(int name, Socket socket) + { + this.name = name; + this.socket = socket; + } + + public void run() + { + String msg = "EchoServer: Verbindung " + name; + System.out.println(msg + " hergestellt"); + try { + InputStream in = socket.getInputStream(); + OutputStream out = socket.getOutputStream(); + out.write((msg + "\r\n").getBytes()); + int c; + while ((c = in.read()) != -1) { + out.write((char)c); + System.out.print((char)c); + } + System.out.println("Verbindung " + name + " wird beendet"); + socket.close(); + } catch (IOException e) { + System.err.println(e.toString()); + } + } +} \ No newline at end of file -- cgit v1.2.3