Bonjour;

Depuis 3 jours que j'essaye de résoudre le problème mais en vain. En fait, je voulais interroger un serveur pop (en utilisant telnet) via un programme client java, j'envoie les commandes en utilisant des outputstream que j'enveloppe dans un PrintWriter, et puis je flushe le tout. je reçois la réponse du serveur dans inputstream enveloppé dans un bufferedReader pour que je puisse le lire avec la méthode readline() avec une boucle while. Voici un extrait du programme:

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
28
29
30
31
32
33
34
35
36
s = new Socket ("Hôte de mon serveur de mail", port);
      OutputStream out = s.getOutputStream ();
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out), 4096);
      PrintWriter outw = new PrintWriter(bw); 
      outw.print ("telnet monserveurpop port");
      outw.print ("\r\n");
      outw.print ("USER monlogin");
      outw.print ("\r\n");
      outw.print ("PASS monpwd");
      outw.print ("\r\n");
      outw.print ("STAT");
      outw.print ("\r\n");
      outw.print ("RETR 1");
      outw.print ("\r\n");
 
      outw.flush(); 
 
      InputStream in = s.getInputStream ();
 
      BufferedReader reponsebuff = new BufferedReader(new InputStreamReader(in),4096);
      String line = reponsebuff.readLine();
 
      while (line != null)
      {
        System.out.println(line);
        line = reponsebuff.readLine();
      }
      outw.close();
      reponsebuff.close();
[/SIZE][/B]
 
Lors de lancement de mon client pop, je reçoie ce qui suit du serveur:
[B]+OK Hello there.
-ERR Invalid command.
+OK Password required.
+OK logged in.
D'après la réponse du serveur, je me trouve bien dans ma boite, mais le nombre de message (suite au STAT envoyé), et le premier message (suite au RETR 1) ne sont pas affichés.

Merci d'avance