private void ClientDataReceived(ClientWrapper client, byte[] data) { var message = MessagesManager.GetDeserializedMessage(data); if (message == null) { Log.Error($"GetDeserializedMessage returned null. Client N°{Id}."); return; } Log.Debug($"Received {message.GetType().Name} from Client N°{Id}."); Dispatcher.DispatchMessage(message); }
public void SerializeDeserializeMessage() { MessagesManager.Initialize(); var pingMsg = new PingMessage(123456789); // Length(int) + Id(short) + Time(long) byte[] serializedData = MessagesManager.SerializeMessage(pingMsg); Assert.Equal(4 + 2 + 8, serializedData.Length); byte[] dataWithoutLength = serializedData.Skip(4).ToArray(); var deserializedPingMsg = (PingMessage)MessagesManager.GetDeserializedMessage(dataWithoutLength); Assert.Equal(123456789, deserializedPingMsg.Time); }