bonjour,
pour joindre un serveur horaire sur le port 13, j'ai écrit le code suivant:
telnet time.nist.gov 13 fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
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
Partager