forked from leuchter/VS_LET
54 lines
1.5 KiB
Java
54 lines
1.5 KiB
Java
package vs;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.InputStreamReader;
|
|
import java.io.PrintWriter;
|
|
import java.net.Socket;
|
|
|
|
/**
|
|
* Client for echo var.sockets.tcp.echo.EchoServer* service. Liest zeilenweise
|
|
* von der Console und sendet zum Server. Der Server sendet eine Zeichenkette
|
|
* zurück, die auf der Konsole ausgegeben wird.
|
|
*
|
|
* @author Sandro Leuchter
|
|
*
|
|
*/
|
|
public class EchoClient {
|
|
|
|
/**
|
|
* main method: entrypoint to run
|
|
*
|
|
* @param args address of service to connect to (must be String[0]: host
|
|
* (IP-address or DNS hostname), String[1]: port)
|
|
*
|
|
*/
|
|
public static void main(String[] args) {
|
|
String host = args[0];
|
|
int port = Integer.parseInt(args[1]);
|
|
|
|
try (Socket socket = new Socket(host, port);
|
|
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
|
|
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
|
|
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in))) {
|
|
|
|
// Begrüßung vom Server empfangen und auf Konsole ausgeben
|
|
String msg = in.readLine();
|
|
System.out.println(msg);
|
|
|
|
// Zeile von Konsole einlesen, an Server senden und Antwort von
|
|
// Server auf Konsole ausgeben, bis eingegebene Zeile == "q"
|
|
while (true) {
|
|
System.out.print(">> ");
|
|
String line = stdin.readLine();
|
|
if ("q".equals(line)) {
|
|
break;
|
|
}
|
|
out.println(line);
|
|
System.out.println(in.readLine());
|
|
}
|
|
} catch (Exception e) {
|
|
System.err.println(e);
|
|
}
|
|
}
|
|
}
|