Salut à tous !
Je reviens une fois de plus pour un problème au niveau de la lecture du Header des paquets...
Voici le code :
Et dans ma RichTextBox, je me retrouve avec ça :
Si quelqu'un a une petite idée ?
Veriditas.
Je reviens une fois de plus pour un problème au niveau de la lecture du Header des paquets...
Voici le code :
Code:
private void ParseBuffer(byte[] buffer_To_Parse)
{
int header;
int message_ID;
int length_Count;
int length;
byte[] packet_Content = new byte[0];
using (BigEndianReader big_Endian_Reader = new BigEndianReader(buffer_To_Parse))
{
while (big_Endian_Reader.bytes_Avaibles >= 2)
{
header = big_Endian_Reader.ReadShort();
message_ID = header >> 2;
length_Count = header & 0x3;
if (big_Endian_Reader.bytes_Avaibles >= length_Count)
{
if ((length_Count < 0) || (length_Count > 3))
{
throw new Exception("Malformated Message Header, invalid bytes number to read message length (inferior to 0 or superior to 3)");
}
else
{
length = 0;
for (int i = length_Count - 1; i >= 0; i--)
{
length |= big_Endian_Reader.ReadByte() << (i * 8);
}
if (length == 0)
{
packet_Content = new byte[0];
}
if (big_Endian_Reader.bytes_Avaibles >= length)
{
packet_Content = big_Endian_Reader.ReadBytes(length);
}
else if (big_Endian_Reader.bytes_Avaibles < length)
{
packet_Content = big_Endian_Reader.ReadBytes((int)big_Endian_Reader.bytes_Avaibles);
}
TreatPacket(message_ID, packet_Content);
}
}
}
}
}
Et dans ma RichTextBox, je me retrouve avec ça :
[10:52:54] La connexion au serveur d'identification est établie.
[10:52:55] Paquet reçu, ID : 1
[10:52:56] Paquet reçu, ID : 3
[10:52:57] Paquet reçu, ID : 10
[10:52:57] File d'attente : 15/15.
[10:52:57] Paquet reçu, ID : 6314
[10:52:57] Paquet reçu, ID : 10
[10:52:57] File d'attente : 0/10.
[10:52:57] Paquet reçu, ID : 22
[10:52:57] Connexion réussie.
[10:52:57] Paquet reçu, ID : 6469
[10:52:57] La connexion au serveur de jeu est établie.
[10:52:57] Paquet reçu, ID : 1
[10:52:57] Paquet reçu, ID : 101
[10:52:57] Paquet reçu, ID : 6362
[10:52:57] Paquet reçu, ID : 111
[10:52:57] Paquet reçu, ID : 175
[10:52:57] Paquet reçu, ID : 6340
[10:52:57] Paquet reçu, ID : 6305
[10:52:57] Paquet reçu, ID : 6434
[10:52:57] Paquet reçu, ID : 6216
[10:52:57] Paquet reçu, ID : 6267
[10:52:57] Paquet reçu, ID : 176
[10:52:57] Paquet reçu, ID : 6362
[10:52:58] Paquet reçu, ID : 6100
[10:52:58] File d'attente : 1/1.
[10:52:58] Paquet reçu, ID : 6100
[10:52:58] File d'attente : 0/0.
[10:52:58] Paquet reçu, ID : 176
[10:52:58] Paquet reçu, ID : 6100
[10:52:58] File d'attente : 0/0.
[10:52:58] Paquet reçu, ID : 151
[10:52:58] Paquet reçu, ID : 6362
[10:52:58] Paquet reçu, ID : 176
[10:52:58] Paquet reçu, ID : 6100
[10:52:58] File d'attente : 0/0.
[10:52:58] Paquet reçu, ID : 6087
[10:52:58] Paquet reçu, ID : 153
[10:52:58] Paquet reçu, ID : 272
[10:52:58] Connecté en tant que :
[10:52:58] Paquet reçu, ID : -2368
[10:52:58] Paquet reçu, ID : 3016
[10:52:58] Paquet reçu, ID : -1939
[10:52:58] Paquet reçu, ID : 3264
[10:52:58] Paquet reçu, ID : 512
[10:52:58] Paquet reçu, ID : 0
[10:52:58] Paquet reçu, ID : 128
[10:52:58] Paquet reçu, ID : 7134
[10:52:58] Paquet reçu, ID : 54
[10:52:58] Paquet reçu, ID : 1152
[10:52:58] Paquet reçu, ID : 7067
[10:52:58] Inventaire chargé.
[10:52:58] Paquet reçu, ID : 6231
[10:52:58] Paquet reçu, ID : 6231
[10:52:58] Paquet reçu, ID : 5689
[10:52:58] Paquet reçu, ID : 6058
[10:52:58] Paquet reçu, ID : 6440
[10:52:55] Paquet reçu, ID : 1
[10:52:56] Paquet reçu, ID : 3
[10:52:57] Paquet reçu, ID : 10
[10:52:57] File d'attente : 15/15.
[10:52:57] Paquet reçu, ID : 6314
[10:52:57] Paquet reçu, ID : 10
[10:52:57] File d'attente : 0/10.
[10:52:57] Paquet reçu, ID : 22
[10:52:57] Connexion réussie.
[10:52:57] Paquet reçu, ID : 6469
[10:52:57] La connexion au serveur de jeu est établie.
[10:52:57] Paquet reçu, ID : 1
[10:52:57] Paquet reçu, ID : 101
[10:52:57] Paquet reçu, ID : 6362
[10:52:57] Paquet reçu, ID : 111
[10:52:57] Paquet reçu, ID : 175
[10:52:57] Paquet reçu, ID : 6340
[10:52:57] Paquet reçu, ID : 6305
[10:52:57] Paquet reçu, ID : 6434
[10:52:57] Paquet reçu, ID : 6216
[10:52:57] Paquet reçu, ID : 6267
[10:52:57] Paquet reçu, ID : 176
[10:52:57] Paquet reçu, ID : 6362
[10:52:58] Paquet reçu, ID : 6100
[10:52:58] File d'attente : 1/1.
[10:52:58] Paquet reçu, ID : 6100
[10:52:58] File d'attente : 0/0.
[10:52:58] Paquet reçu, ID : 176
[10:52:58] Paquet reçu, ID : 6100
[10:52:58] File d'attente : 0/0.
[10:52:58] Paquet reçu, ID : 151
[10:52:58] Paquet reçu, ID : 6362
[10:52:58] Paquet reçu, ID : 176
[10:52:58] Paquet reçu, ID : 6100
[10:52:58] File d'attente : 0/0.
[10:52:58] Paquet reçu, ID : 6087
[10:52:58] Paquet reçu, ID : 153
[10:52:58] Paquet reçu, ID : 272
[10:52:58] Connecté en tant que :
[10:52:58] Paquet reçu, ID : -2368
[10:52:58] Paquet reçu, ID : 3016
[10:52:58] Paquet reçu, ID : -1939
[10:52:58] Paquet reçu, ID : 3264
[10:52:58] Paquet reçu, ID : 512
[10:52:58] Paquet reçu, ID : 0
[10:52:58] Paquet reçu, ID : 128
[10:52:58] Paquet reçu, ID : 7134
[10:52:58] Paquet reçu, ID : 54
[10:52:58] Paquet reçu, ID : 1152
[10:52:58] Paquet reçu, ID : 7067
[10:52:58] Inventaire chargé.
[10:52:58] Paquet reçu, ID : 6231
[10:52:58] Paquet reçu, ID : 6231
[10:52:58] Paquet reçu, ID : 5689
[10:52:58] Paquet reçu, ID : 6058
[10:52:58] Paquet reçu, ID : 6440
Veriditas.