Richiesta ora esatta da un server

Di seguito viene mostrato un modo per richiedere ad un server DAYTIME (RFC 867), nel nostro caso dal server dell’Istituto Nazionale di Ricerca Metrologica, l’ora esatta.

import java.net.UnknownHostException;
import java.net.Socket;
import java.io.InputStream;
import java.io.IOException;

public class DayTime {
    public static void main(String[] args) {
        String hostname = "time.inrim.it";
        int port = 13;
        try {
            Socket socket = new Socket(hostname, port);
            InputStream iStream = socket.getInputStream();
            StringBuilder time = new StringBuilder();
            int c;
            //Acquisisco l'intero messaggio dal server
            while ((c = iStream.read()) != -1) {
                time.append((char) c);
            }
            String tString = time.toString().trim();
            System.out.println("La stringa completa da: " +hostname+ " è: " + tString);
            String[] ora = tString.split(" ");
            //Dall'Array di String estrapolo solamente il campo dell'ora
            System.out.println("L'ora esatta è : " + ora[3]);
        }catch (UnknownHostException ex) {
            System.err.println(ex);
        }catch (IOException ex) {
            System.err.println(ex);
        }
    }
}

Output Video:

La stringa completa da: time.inrim.it è: 29 AGO 2020 12:40:17 CEST
L’ora esatta è : 12:40:17

Tags:
Leave a Comment