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 :
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
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
Partager