private static void OnForwardLogicMessageReceived(ForwardLogicMessage message) { if (ProxySessionManager.TryGet(message.SessionId, out ProxySession session)) { PiranhaMessage piranhaMessage = LogicMagicMessageFactory.Instance.CreateMessageByType(message.MessageType); if (piranhaMessage == null) { Logging.Error("ProxyMessageManager.onForwardLogicMessageReceived: unknown logic message type: " + message.MessageType); return; } piranhaMessage.SetMessageVersion(message.MessageVersion); piranhaMessage.GetByteStream().SetByteArray(message.MessageBytes, message.MessageLength); piranhaMessage.GetByteStream().SetOffset(message.MessageLength); session.ClientConnection.Messaging.Send(piranhaMessage); } }
private static void OnForwardLogicMessageReceived(ForwardLogicMessage message) { if (ChatSessionManager.TryGet(message.SessionId, out ChatSession session)) { PiranhaMessage logicMessage = LogicMagicMessageFactory.Instance.CreateMessageByType(message.MessageType); if (logicMessage == null) { throw new Exception("logicMessage should not be NULL!"); } logicMessage.GetByteStream().SetByteArray(message.MessageBytes, message.MessageLength); logicMessage.SetMessageVersion(message.MessageVersion); logicMessage.Decode(); if (!logicMessage.IsServerToClientMessage()) { session.LogicMessageManager.ReceiveMessage(logicMessage); } } }