Bonjour, depuis quelques jours j'essaie de comprendre ce code en As3. A ce que j'ai vu et analysé, cette fonction incrémente de 1 le deuxième ou troisième byte de chaques paquets à envoyé au serveur de la même action effectué du personnage
Exemple lorsque je fais une action plusieurs fois :
[Premier paquet envoyé] \x08\x10
[Deuxième paquet envoyé] \x08\x11
(c'est sûrement pour éviter une injection de paquet), mais je comprends pas tout en entier..
public function socketDataHandler(event:ProgressEvent)
{
var _loc_4:* = 0;
var _loc_5:* = undefined;
var _loc_6:* = undefined;
var _loc_2:* = this.bytesAvailable;
var _loc_3:* = 0;
while (_loc_3 < _loc_2 && connected)
{
_loc_4 = this.readByte();
if (_loc_4 == 0)
{
var _loc_7:* = this;
var _loc_8:* = this.inCmpt + 1;
_loc_7.inCmpt = _loc_8;
if (this.inCmpt >= 65530)
{
this.inCmpt = 12;
}
_loc_5 = new SocketMessage();
_loc_5.readMessage(this.inBuffer);
_loc_4 = _loc_5.bitReadUnsignedInt(16);
if (_loc_4 < this.inCmpt || _loc_4 > this.inCmpt + 20)
{
}
else
{
_loc_6 = new SocketMessageEvent("onMessage", true, true);
_loc_6.message.writeBytes(_loc_5, 2, 0);
_loc_6.message.bitLength = _loc_6.message.length * 8;
this.eventMessage(_loc_6);
this.inBuffer = new ByteArray();
}
}
else
{
this.inBuffer.writeByte(_loc_4);
}
_loc_3 = _loc_3 + 1;
}
return;
}// end function