Bonjour à tous,
je début avec les socket (et avec java). J'ai un serveur C++ qui attends un tableau de byte et qui va m'en renvoyer un en réponse.

J'utilise pour l'écriture et la lecture un BufferedIn/OuputStream. Est ce la bonne solution ?

Niveau envoi pas de problème je procède comme suis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
this.reader = new BufferedInputStream(this.socket.getInputStream());
this.writer = new BufferedOutputStream(this.socket.getOutputStream());
 
byte[] packet = new byte[10];
byte[] recieve = new byte[8192];
packet[0] = 5;
packet[1] = 2;
//...
this.writer.write(packet);
Par contre au niveau de la réponse comment être certain de recevoir toutes les données ?
Un simple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
while(this.reader.read(recieve) > 0 )
est il suffisant ?

Qu'est ce qui caractérise la fin du flux comme le dit la documentation ? la fin de la socket ou simplement l'absence de données ?

Merci