Codage des entiers dans socket (réception par java)
Bonjour,
Dans une application je dois envoyer des entiers entre une application C# (windows mobile) et une application (serveur) java.
Le problème est que les bits semblent inversés :/
En C# je fais :
Code:
1 2
| byte[] tmp = BitConverter.GetBytes(3);
io.Write(tmp, 0, tmp.Length); |
Coté java :
Code:
1 2
| int i = dis.readInt();
System.out.println("i="+i); |
Si j'envoie 1, alors je reçoit 16777216, ce qui fait en binaire 1000...0000
Si j'envoie 3, alors je reçoit 50331648, ce qui fait en binaire 1100...0000
Si j'envoie 0, alors j'ai bien 0...
J'ai souvenir que socket.h (en C donc) fourni un moyen d'encoder les entier de manière portable. Existe il la même chose en C#/JAVA ?
Merci
edit : je poste dans C#, ça serait peut être mieux dans java ?!