示例#1
0
        private void HandleEncryptedMessage(WebSocket websocket, byte[] message)
        {
            try
            {
                AuthClient client;

                if (Clients.TryGetValue(websocket.GetHashCode().ToString(), out client))
                {
                    if (message != null && message.Length > 0)
                    {
                        var packet = MessageHandler.DecryptMessage(message, client);
                        if (packet != null)
                        {
                            if (!client.Authenticated && client.AesShook)
                            {
                                AuthenticationHandler.Authenticate(_password.ConvertToUnsecureString(), packet, client);
                            }
                            else if (client.Authenticated && client.AesShook)
                            {
                                _commandHandler.ProcessCommand(client, packet);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
            }
        }
示例#2
0
 private void HandlePlainTextMessage(WebSocket websocket, string message)
 {
     try
     {
         AuthClient client;
         if (Clients.TryGetValue(websocket.GetHashCode().ToString(), out client))
         {
             if (!client.AesShook)
             {
                 AuthenticationHandler.AesHandshake(message, client);
             }
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.StackTrace);
     }
 }