Cela ne va surement pas régler ton probléme mais ne reset pas ton buffer a chaque fois, t'auras des soucis par la suite.
EDIT:
Tout à fait normal que tu n'aie aucune réponse. essaye ceci:
Cliquez pour révéler
Cliquez pour masquer
Tu vérifies si le buffer n'est pas vide alors qu'il vien d'être redéfini.
_buffer = new byte[ListenServerSocket.Available];
if (_buffer.Length != 0)
Tu ne rempli par le buffer et tu le parse:
ListenServerSocket.Receive(_buffer);
ParseData(_buffer);
Essaye de comprendre ce que tu fais.
Voilà ce que sa donne:
while (ListenServerSocket.Connected)
{
dynamic i = ListenServerSocket.Receive(_buffer);
if (i.Length != 0)
{
byte[] data = new byte;
OnDataReceived(this, new EventArgs());
Array.Copy(_buffer, data, i)
ParseData(data);
}
}
et modifie ta var buffer:
private byte[8191] _buffer;