Réception sur un socket de char > à 128
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:
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:
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