Alors, j'ai avancé un peu plus, seulement je suis confronté a un petit problème :
J'ai codé une fonction en python pour séparer les différents messages dans une trame wireshark, ça marche bien et j'obtiens plusieurs messages que je décode un par un pour obtenir les informations dont j'ai besoin. Seulement, quand je décode le message 5519, je vais dans la classe ExchangeObjectModifiedMessage, qui me redirige vers ExchangeObjectMessage et ObjectItem, avec cela j'obitens la composition du message :
this.remote = input.readBoolean();
this.position = input.readShort();
this.objectGID = input.readVarUhShort();
this.objectUID = input.readVarUhInt();
this.quantity = input.readVarUhInt();
J'ai réussi, en utilisant les autres messages de la trame à identifier chacun des paramètres, seulement je me demande bien à quoi ils peuvent servir, notamment le remote et la différence entre GID et UID ?
Edit : J'ai cherché également la fonction readVarUhShort(), qui me ramène sur cette fonction:
public function readVarInt() : int
{
var b:int = 0;
var value:int = 0;
var offset:int = 0;
for(var hasNext:* = false; offset < INT_SIZE; )
{
b = this._data.readByte();
hasNext = (b & MASK_10000000) == MASK_10000000;
if(offset > 0)
{
value = value + ((b & MASK_01111111) << offset);
}
else
{
value = value + (b & MASK_01111111);
}
offset = offset + CHUNCK_BIT_SIZE;
if(!hasNext)
{
return value;
}
}
throw new Error("Too much data");
}
Ici je ne vois pas bien ce que fait le "var hasNext:* = false" dans la boucle "for" ?
Merci de votre aide !