From 96f2e6e9734a713185d43790efeff7306db50980 Mon Sep 17 00:00:00 2001 From: shinichi Date: Fri, 25 Sep 2020 12:58:12 +0200 Subject: [PATCH] rewrote OnRead --- Server/Client.cs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/Server/Client.cs b/Server/Client.cs index c836f72..82e2551 100644 --- a/Server/Client.cs +++ b/Server/Client.cs @@ -37,30 +37,28 @@ namespace Server Array.Copy(buffer, 0, totalBuffer, totalBufferReceived, receivedBytes); totalBufferReceived += receivedBytes; - int expectedMessageLength = BitConverter.ToInt32(totalBuffer, 0); while (totalBufferReceived >= expectedMessageLength) { //volledig packet binnen - byte[] packetBytes = new byte[expectedMessageLength]; - Array.Copy(totalBuffer, 5, packetBytes, 0, expectedMessageLength - 5); + byte[] messageBytes = new byte[expectedMessageLength]; + Array.Copy(totalBuffer, 0, messageBytes, 0, expectedMessageLength); + HandleData(messageBytes); + //Array.Copy(totalBuffer, expectedMessageLength, totalBuffer, 0, (totalBufferReceived - expectedMessageLength)); //maybe unsafe idk + totalBuffer = totalBuffer.Skip(expectedMessageLength).ToArray(); - Console.WriteLine(Encoding.ASCII.GetString(packetBytes) + " " + expectedMessageLength); - - - - Array.Copy(totalBuffer, expectedMessageLength, totalBuffer, 0, (totalBufferReceived - expectedMessageLength)); totalBufferReceived -= expectedMessageLength; expectedMessageLength = BitConverter.ToInt32(totalBuffer, 0); } - - this.stream.BeginRead(this.buffer, 0, this.buffer.Length, new AsyncCallback(OnRead), null); } - + /// + /// TODO + /// + /// including message length and messageId (can be changed) private void HandleData(byte[] message) { //Console.WriteLine("Data " + packet);