Salut à tous,
J'ai un problème avec la ligne 'while ((bytesRead = serverIn.read(reponse)) > 0)' . En fait, il passe bien dans la boucle en lisant par bloc de 4096 octets. Quand il reste par exemple 2000 bytes et qu'il les a lu et qu'il revient dans la boucle, je remarque qu'il ne quitte pas l'entête la ligne 'while...' . Il ne va ni dans System.out.println("message lu du serveur"); ni n'engendre d'exceptions.
Avez-vous une idée svp ?
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 InputStream inputStream = serverSocket.getInputStream(); serverIn = new DataInputStream(new BufferedInputStream(inputStream)); OutputStream outputStream = clientSocket.getOutputStream(); clientOut = new DataOutputStream(new BufferedOutputStream(outputStream)); ... int bytesRead; byte[] reponse = new byte[4096]; String response = ""; try{ while ((bytesRead = serverIn.read(reponse)) > 0) { String string = new String(reponse); response += string; clientOut.write(reponse, 0, bytesRead); clientOut.flush(); } }catch(Exception e){ System.out.println(e.getMessage()); } System.out.println("message lu du serveur"); System.out.println(response);
Partager