Example #1
0
        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);
                }
            }
        }