示例#1
0
        private BaseMessage GetMessageFromInput(string input)
        {
            var AESIV            = GetIVFromInput(input);
            var encryptedMessage = GetEncryptedMessageFromInput(input);
            var decryptedMessage = AESWrapper.DecryptStringFromBytes(encryptedMessage, AESKey, AESIV);
            var baseMessage      = BaseMessage.Deserialize(decryptedMessage);

            return(baseMessage);
        }
示例#2
0
    private void OnInMessage(byte code, byte[] data)
    {
        switch ((NetEntityCommand)code)
        {
        case NetEntityCommand.syncTransform:
            messageTrandform = BaseMessage.Deserialize <MessageTransform>(data);

            UpdateTransform(messageTrandform);
            break;
        }
    }
示例#3
0
        private Register GetRegisterMessage(StreamReader reader)
        {
            string input       = reader.ReadLine();
            var    baseMessage = BaseMessage.Deserialize(input);

            if (baseMessage.Type == MessageType.Register)
            {
                return(Register.Deserialize(baseMessage));
            }
            else
            {
                throw new InvalidOperationException();
            }
        }
示例#4
0
        private Login GetLoginMessage(StreamReader reader, byte[] AESKey)
        {
            string input            = reader.ReadLine();
            var    AESIV            = GetIVFromInput(input);
            var    encryptedMessage = GetEncryptedMessageFromInput(input);
            var    decryptedMessage = AESWrapper.DecryptStringFromBytes(encryptedMessage, AESKey, AESIV);
            var    baseMessage      = BaseMessage.Deserialize(decryptedMessage);

            if (baseMessage.Type == MessageType.Login)
            {
                return(Login.Deserialize(baseMessage));
            }
            else
            {
                throw new InvalidOperationException();
            }
        }