forked from leuchter/VS_LET
64 lines
2.0 KiB
Java
64 lines
2.0 KiB
Java
package vs;
|
|
|
|
import java.io.InputStream;
|
|
import java.net.Socket;
|
|
import java.text.DateFormat;
|
|
import java.text.ParseException;
|
|
import java.util.Date;
|
|
|
|
/**
|
|
* Client for echo var.sockets.tcp.time.Time*Server service. Verbindet sich mit
|
|
* dem Server und empfängt eine Repräsentation eines Zeitstempels. Das Format
|
|
* des Zeitstempels kann entweder die Zeit in ms seit dem 01.01.1970 00:00:00
|
|
* GMT als ASCII-Zeichen sein oder ein String, der die Zeit kompatibel zu ISO
|
|
* 8601 enthält.
|
|
*
|
|
* @author Sandro Leuchter
|
|
*
|
|
*/
|
|
public class TimeClient {
|
|
|
|
/**
|
|
* 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) {
|
|
try (Socket socket = new Socket(args[0], Integer.parseInt(args[1])); InputStream in = socket.getInputStream()) {
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
|
|
int c;
|
|
while ((c = in.read()) != -1) {
|
|
stringBuilder.append((char) c);
|
|
}
|
|
|
|
// stringBuilder-Inhalt in ein Date-Objekt konvertieren und ausgeben
|
|
DateFormat dateFormatter = DateFormat.getInstance();
|
|
Date date = null;
|
|
try {
|
|
date = dateFormatter.parse(stringBuilder.toString());
|
|
} catch (ParseException parseException) {
|
|
try {
|
|
date = new Date(Long.parseLong(stringBuilder.toString()));
|
|
} catch (NumberFormatException numberException) {
|
|
// weder verständliches Textformat, noch long-Zahl (ms. seit
|
|
// 01.01.1970 00:00)
|
|
// System.err.println(numberException);
|
|
}
|
|
}
|
|
System.out.println("empfangen: \"" + stringBuilder.toString() + "\"");
|
|
if (date != null) {
|
|
System.out.println("gewandelt: " + date);
|
|
} else {
|
|
// weder verständliches Textformat, noch long-Zahl (ms. seit
|
|
// 01.01.1970 00:00)
|
|
System.err.println("es war nicht mögich ein Date-Objekt daraus zu erzeugen.");
|
|
}
|
|
} catch (Exception e) {
|
|
System.err.println(e);
|
|
}
|
|
}
|
|
}
|