Zurück zum Manuskript
// Datei: EchoVerlangen.java // Datum: 17.12.2018 // Autor: Brecht // Thema: Echo-Anforderung per Datagramm // Server wartet auf Host hrz am Port 8888 // Anwendung endet nach jedem Echo // --------------------------------------------------------- import java.io.*; import java.net.*; class EchoVerlangen { public static void main(String[] args) throws Exception { System.out.println("EchoVerlangen startet"); // Servername (eventuell: localhost) und Serverport // ----------------------------------------------------- String server = "hrz.beuth-hochschule.de"; // server = "localhost"; int port = 8888; // Socket einrichten und freien Port geben lassen // ----------------------------------------------------- DatagramSocket ds = new DatagramSocket(); // Reader zum Lesen von der Konsole // ----------------------------------------------------- BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // IP-Adresse des Servers per DNS-Abfrage ermitteln // ----------------------------------------------------- InetAddress ip = InetAddress.getByName(server); // Vom Benutzer Echo-String anfordern // ---------------------------------------------------- System.out.println("\nGib Echostring (Ende mit quit)"); System.out.print("->"); String echo = br.readLine(); // Datagramm eins bilden und senden // ----------------------------------------------------- byte[] b = echo.getBytes(); DatagramPacket eins = new DatagramPacket(b, b.length, ip, port); ds.send(eins); // Auf Echo warten, im Datagramm zwei auffangen // ----------------------------------------------------- byte[] c = new byte[b.length]; DatagramPacket zwei = new DatagramPacket(c, c.length); ds.receive(zwei); echo = new String(zwei.getData()); System.out.println("Erhalte als Echo: " + echo); ds.close(); System.out.println("EchoVerlangen endet"); } }

Zurück zum Manuskript