public virtual void Handle(object data)
        {
            MessageSessionData sessionData = data as MessageSessionData;

            if (sessionData != null)
            {
                Session session = sessionData.Session;
                string  message = sessionData.Message;
                byte[]  bytes   = sessionData.Data;

                if (session != null && message != null && message.Length > 0)
                {
                    T msg = WebMessage.ToJsonObject <T>(message);
                    if (msg != null)
                    {
                        if (bytes == null || bytes.Length <= 0)
                        {
                            ProcessMessage(session, msg);
                        }
                        else
                        {
                            ProcessMessage(session, msg, bytes);
                        }
                    }
                }
            }
        }
        public void Handle(Session session, string msg)
        {
            T data = WebMessage.ToJsonObject <T>(msg);

            if (data != null)
            {
                ProcessMessage(session, data);
            }
        }
示例#3
0
        protected virtual bool ProcessMessage(MessageSessionData data)
        {
            if (data == null)
            {
                return(false);
            }
            string message = data.Message;

            if (message != null && message.Length > 0)
            {
                JsonMessage msg = WebMessage.ToJsonObject <JsonMessage>(message);
                if (msg != null && msg.MessageName != null && msg.MessageName.Length > 0)
                {
                    IMessageHandler handler = GetHandler(msg.MessageName);
                    if (handler != null)
                    {
                        handler.Handle(data);
                        return(true);
                    }
                }
            }
            return(false);
        }