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++
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);
qui envoie 256 octets ayant chacun comme valeur, leur indice.

réception java dans un thread :

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
                 }
         }
}
En débug, je scrute les valeurs récupérées. Tout va bien entre 0 et 127 ;
à 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