// Datei: EchoClient.java
// Autor: Brecht
// Datum: 10.12.18
// Thema: Arbeiten mit Stream Sockets
// Ein Echo-Client (auf irgendeinem Host der Hochschule)
// Programmende nach jedem Echo-Request
// Der Server wartet auf sun65 am Port 9021
// Den Benutzer nach einem Echo-String fragen
// Eingabe: quit => Serverende
// ------------------------------------------------------------
import java.io.*;
import java.net.*;
class EchoClient {
public static void main(String[] args) throws Exception {
System.out.println("Client startet");
// Serveradressen: Host und Port
// --------------------------------------------------------
String serverName = "sun65.beuth-hochschule.de";
// Sollen Client und Server auf ein und demselben Host
// arbeiten, bitte die beiden Kommentarzeichen in der
// nächsten Zeile entfernen!
// serverName = "localhost";
int serverPort = 9021;
// Socket einrichten und verbinden
// --------------------------------------------------------
System.out.println("Socket einrichten und verbinden");
Socket s = new Socket(serverName, serverPort);
// Echo-Eingabe vom Benutzer anfordern
// --------------------------------------------------------
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("\nEcho-String eingeben " +
"(Serverende mit quit)->");
String eingabe = br.readLine();
// Benutzereingabe in den Socket schreiben
// --------------------------------------------------------
PrintWriter pw = new PrintWriter(s.getOutputStream());
pw.println(eingabe);
pw.flush();
// Echo aus dem Socket lesen
// --------------------------------------------------------
BufferedReader sbr = new BufferedReader(
new InputStreamReader(
s.getInputStream()));
String echo = sbr.readLine();
System.out.println("Echo->" + echo);
System.out.println("Client endet korrekt\n");
sbr.close();
pw.close();
} // main()
} // class