Bonjour
J'ai écrit une application c++ qui envoie des données à une appli android via
un socket.
Depuis qq temps, je lutte à comprendre pourquoi certaines données sont
correctement reçues alors que d'autres non.
A force de fouiner j'ai écrit le code suivant :
c++
qui envoie 256 octets ayant chacun comme valeur, leur indice.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 char x[255] ; for (int i = 0 ; i < 255 ; i++) x[i] = i; client->write(x, 255);
réception java dans un thread :
En débug, je scrute les valeurs récupérées. Tout va bien entre 0 et 127 ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @Override public void run() { try { Socket socket = new Socket("192.168.1.10", 4000); Reader br = new InputStreamReader(socket.getInputStream()); int i = br.read() ; while ( i!=-1) { /// blabla bla } } }
à partir de la 128 valeur, je lis toujours 65533 au tuyau et je ne comprends pas bien pourquoi.
Cela inspire-t-il quelque chose à quelqu'un ?
Merci
Henri
Partager