Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [Java] Time server

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5

    Time server

    Buongiorno a tutti,
    qualcuno può aiutarmi sull'utilizzo dei socket per la connessione a un server remoto?
    Allo start up del mio programma Java dovrei fare un controllo sulla correttezza della data, dovrei collegarmi a qualche time server per ottenere la data corretta e confrontarla con quella del client per apportare eventuali modifiche.
    E' corretto utilizzare i socket?
    Mi collego sulla porta 37, ad esempio al time server: time.windows.com
    però mi restituisce sempre un errore di IOException.
    Ho provato anche con altri time server, questo è il codice:


    public static void main(String[] args){
    try{
    try{

    Socket s= new Socket("time.windows.com",37);










    PrintWriter out = new PrintWriter(s.getOutputStream(), true);
    BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
    BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));

    if(s.isConnected())
    System.out.println("Connessione stabilita con il Server ");

    while (true) {
    System.out.print("Client > ");
    String userInput = stdIn.readLine();

    if(userInput.equalsIgnoreCase("quit")){
    System.out.println("Connessione terminata con il Server ");
    break;
    }
    else if(s.isClosed()){
    System.out.println("Connessione terminata con il Server ");
    break;
    }
    out.println(userInput);
    out.flush();
    }


    stdIn.close();
    in.close();
    out.close();
    s.close();



    }catch (java.net.UnknownHostException e){
    System.out.print("Indirizzo sbagliato");
    }
    }catch (IOException e){
    System.out.print("IOException");

    }

    Ringrazio in anticipo chiunque possa aiutarmi.
    Valentina

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Time server

    Originariamente inviato da valednv
    Allo start up del mio programma Java dovrei fare un controllo sulla correttezza della data, dovrei collegarmi a qualche time server per ottenere la data corretta e confrontarla con quella del client per apportare eventuali modifiche.
    E' corretto utilizzare i socket?
    Certo.

    Originariamente inviato da valednv
    Mi collego sulla porta 37, ad esempio al time server: time.windows.com
    però mi restituisce sempre un errore di IOException.
    Beh, innanzitutto bisogna vedere di che tipo di servizio di 'time' stiamo parlando. Ce ne sono diversi tipi:

    - NTP (Network Time Protocol), RFC 778, RFC 891, RFC 956, RFC 958, and RFC 1305, che opera sulla porta UDP 123
    - DAYTIME, RFC 867, che opera sulla porta TCP/UDP 13
    - TIME, RFC 868, che opera sulla porta TCP/UDP 37

    Visto che hai parlato della porta 37, immagino che il protocollo sia appunto il TIME. Innanzitutto sei sicuro che i server della MS forniscano il servizio TIME?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013

    Re: Re: Time server

    Originariamente inviato da andbin

    Visto che hai parlato della porta 37, immagino che il protocollo sia appunto il TIME. Innanzitutto sei sicuro che i server della MS forniscano il servizio TIME?
    Ancora meglio: sei sicura che quel server accetti connessioni su porta 37? Secondo me no, ho telnettato e sulla porta 37 mi manda a quel paese. Di sicuro la porta 80 funziona, ma non è certamente un servizio time
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5

    Re: Re: Re: Time server

    Hai ragione infatti non funziona...
    provo sulla porta 80?

    Ho usato NTPUDPClient...

    Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5

    Re: Re: Re: Re: Time server

    Non avevo letto bene il primo post...
    Per NTP porta 123...



  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    5
    Funziona!!!! Grazie!!!
    Alla fine ho usato un Client già fatto:
    org.apache.commons.net.ntp.NTPUDPClient

    Time server: "ntp1.ien.it"
    porta:123

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.