/// <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)); } }