public static bool IntepretMessage(ByteArray byteArray, IOperatorRequestServerService serverService) { byteArray.BypassHeader(); int methodID = byteArray.readInt(); bool mtdrst__ = false; switch (methodID) { case EnumOperatorRequestMethods.SERVER_LOGINBACK_HASH: { byteArray.EncryptKey = EnumOperatorRequestMethods.SERVER_LOGINBACK_HASH; byteArray.CRC = 0; byteArray.readDynamicsInt(); mtdrst__ = OnLoginBack(byteArray, serverService); byteArray.EncryptKey = 0; return(mtdrst__); } case EnumOperatorRequestMethods.CLIENT_REQUESTERROR_HASH: byteArray.EncryptKey = EnumOperatorRequestMethods.CLIENT_REQUESTERROR_HASH; byteArray.readDynamicsInt(); OnClientRequestError__(byteArray, serverService); byteArray.EncryptKey = 0; return(true); } // recover the header byteArray.Rewind(); return(false); }
private static bool OnClientRequestError__(ByteArray byteArray, IOperatorRequestServerService serverService) { int errorCode = byteArray.readDynamicsInt(); if (ClientRequestErrorHandler__ != null) { ClientRequestErrorHandler__(errorCode); } return(true); }
private static bool OnLoginBack(ByteArray byteArray, IOperatorRequestServerService serverService) { String account = byteArray.readUTF(); String errMsg = byteArray.readUTF(); int crc = byteArray.readIntNCRC(); if (crc == byteArray.CRC) { serverService.OnLoginBack(account, errMsg); } byteArray.Recycle(); return(true); }