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







Répondre avec citation
Partager