Zurück zum Manuskript
// Datei: EchoGeben.java // Datum: 18.12.2018 // Autor: Brecht // Thema: Mit Datagrammen ein Echo-Serving nachbilden // Start auf Host hrz am Port 8888 // --------------------------------------------------------- import java.net.*; class EchoGeben { public static void main(String[] args) throws Exception { System.out.println("EchoGeben startet"); // Datagramm-Socket am Port 8888 einrichten // ----------------------------------------------------- DatagramSocket ds = new DatagramSocket(8888); // Vereinbarungen fuer ein (leeres) 10-Bytes-Datagramm // ----------------------------------------------------- int contentLen = 10; byte[] b = null; DatagramPacket dp = null; // Auf Datagramm warten und es bei Empfang zuruecksenden // Abbruch beim Empfang von quit // ----------------------------------------------------- String inhalt = null; while(true) { // Leeres Datagramm bilden // --------------------------------------------------- b = new byte[contentLen]; dp = new DatagramPacket(b, contentLen); // Warten und Datagramm zuruecksenden // --------------------------------------------------- System.out.println("\nEchoGeben wartet im receive()"); ds.receive(dp); ds.send(dp); System.out.println("Echo gesendet"); // Abbruch? // --------------------------------------------------- inhalt = new String(dp.getData()).trim(); if(inhalt.equals("quit")) break; } ds.close(); System.out.println("EchoGeben endet"); } }

Zurück zum Manuskript