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);