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