contacter un serveur horaire
bonjour,
pour joindre un serveur horaire sur le port 13, j'ai écrit le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
clientNist(String remote)
{
port = 13;
try {
Socket socket = new Socket("time.nist.gov", port);
/* Ok pour la lecture via read()
InputStream is = socket.getInputStream();
int c;
do
{
c = is.read();
System.out.println(c + " " + Integer.toString(c, 16));
}while(c != '*');
*/
BufferedReader bf = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str = null;
str = bf.readLine();
System.out.println("Heure: " + str);
socket.close();
}
catch(Exception e) {
e.printStackTrace();
System.exit(1);
}
} |
telnet time.nist.gov 13 fonctionne parfaitement.
Quand j'utilise le bloc commenté, j'affiche bien le contenu de la trame.
Quand j'utilise le BufferedReader tel que ci-dessus, WireShark m'indique bien qu'il y a bien une Daytime Response et me l'affiche, mais le buffer et str donc est toujours vide!
Je n'ai plus d'idées, si vous en avez une ??
Merci