Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="evt"></param>
        public void HandleHandShake(IMPObject parameters)
        {
            IMPObject obj2 = parameters;

            if (obj2.IsNull(BaseRequest.KEY_ERROR_CODE))
            {
                sessionToken = obj2.GetUtfString(HandshakeRequest.KEY_SESSION_TOKEN);
                bitSwarm.CompressionThreshold = obj2.GetInt(HandshakeRequest.KEY_COMPRESSION_THRESHOLD);
                bitSwarm.MaxMessageSize       = obj2.GetInt(HandshakeRequest.KEY_MAX_MESSAGE_SIZE);
                if (Debug)
                {
                    log.Debug(string.Format("Handshake response: tk => {0}, ct => {1}", sessionToken, bitSwarm.CompressionThreshold));
                }
                if (bitSwarm.IsReconnecting)
                {
                    bitSwarm.IsReconnecting = false;
                    DispatchEvent(new MPEvent(MPEvent.CONNECTION_RESUME));
                }
                else
                {
                    isConnecting = false;
                    Hashtable data = new Hashtable();
                    data["success"] = true;
                    DispatchEvent(new MPEvent(MPEvent.CONNECTION, data));
                }
            }
            else
            {
                short errorCode = obj2.GetShort(BaseRequest.KEY_ERROR_CODE);

                Hashtable hashtable2 = new Hashtable();
                hashtable2["success"]   = false;
                hashtable2["errorCode"] = errorCode;
                DispatchEvent(new MPEvent(MPEvent.CONNECTION, hashtable2));
            }
        }
        private void FnLogin(IMessage msg)
        {
            IMPObject content = msg.Content;
            Hashtable data    = new Hashtable();

            if (content.IsNull(BaseRequest.KEY_ERROR_CODE))
            {
                mpnet.MySelf             = new MPUser(content.GetInt(LoginRequest.KEY_ID), content.GetUtfString(LoginRequest.KEY_USER_NAME));
                mpnet.MySelf.PrivilegeId = content.GetShort(LoginRequest.KEY_PRIVILEGE_ID);
                mpnet.SetReconnectionSeconds(content.GetShort(LoginRequest.KEY_RECONNECTION_SECONDS));
                mpnet.MySelf.PrivilegeId = content.GetShort(LoginRequest.KEY_PRIVILEGE_ID);
                data["user"]             = mpnet.MySelf;
                data["data"]             = content.GetMPObject(LoginRequest.KEY_PARAMS);
                MPEvent evt = new MPEvent(MPEvent.LOGIN, data);
                mpnet.DispatchEvent(evt);
            }
            else
            {
                short code = content.GetShort(BaseRequest.KEY_ERROR_CODE);
                data["errorCode"] = code;
                mpnet.DispatchEvent(new MPEvent(MPEvent.LOGIN_ERROR, data));
            }
        }