Example #1
0
        /// <summary>
        /// Метод подбора пароля к свертке.
        /// </summary>
        /// <param name="threadName">
        /// Имя потока, в котором запускается метод.
        /// </param>
        public void Brut(object threadName)
        {
            while (true)
            {
                TaskFormat task;
                try
                {
                    task = this.clientRouter.GetTask();
                }
                catch
                {
                    Console.WriteLine("Thread " + threadName.ToString() + ": Перебор закончен. Заданий от сервера не поступает.");
                    break;
                }

                Console.WriteLine(threadName + ". Задание получено: " + task);

                SearchEngineSolutions searchEngineSolutions = new SearchEngineSolutions(task);
                AnswerFormat          answer = searchEngineSolutions.FindSolution();

                Console.WriteLine(threadName + ".Задание отработано: " + task);
                this.clientRouter.SendAnswer(answer);
            }

            // ReSharper disable FunctionNeverReturns
        }
Example #2
0
        /// <summary>
        /// Медот для запуска тестирования производительности.
        /// </summary>
        /// <returns>
        /// Количество операций в секунду.
        /// </returns>
        public long Run()
        {
            Console.WriteLine("Запущено тестирование производительности клиента.");
            Word                  word = new Word(5);
            TaskFormat            tf   = new TaskFormat(word.ToString(), this.PasswordCount);
            SearchEngineSolutions searchEngineSolutions = new SearchEngineSolutions(tf);

            DateTime startTime = DateTime.Now;

            searchEngineSolutions.FindSolution();
            DateTime finishTime = DateTime.Now;

            var result = (this.PasswordCount / ((finishTime - startTime).Milliseconds + 1)) * 100;

            Console.WriteLine("Тестирование производительности клиента окончено.");
            Console.WriteLine(
                "Производительность клиента: " + result.ToString(CultureInfo.InvariantCulture) + " оп/сек");
            return(result);
        }