Exemplo n.º 1
0
        private async Task<int> pingLocalHostsMain(main_test_form form, Results results)
        {
            for (int i = 0; i < this.parameters.localhostsR1.Count(); i++)
            {
                int fraction;
                try
                {
                   fraction  = 15 / this.parameters.localhostsR1.Count();
                }
                catch (Exception e)
                {

                    fraction = 15;
                }
                updateProgressBar g = new updateProgressBar(form.fillProgressBar);
                g(fraction);
                String host = this.parameters.localhostsR1[i].ToString();
                results.localhosts_results.Add(host, new Dictionary<String, String>());

                long roundTrip = 0;

                int count = 0;
                int failures = 0;
                for (int j = 0; j < 5; j++)
                {
                    PingReply reply = await ping_test(this.parameters.localhostsR1[i]);
                    if (reply.Status == IPStatus.Success)
                    {
                        roundTrip += reply.RoundtripTime;
                        count++;

                    }
                    else
                    {
                        failures++;
                    }

                    
                    
                    Thread.Sleep(500);
                }
                //Updating results
                results.localhosts_results[host].Add("Sent packets", count.ToString());
                results.localhosts_results[host].Add("Errors", failures.ToString());
                results.localhosts_results[host].Add("Average response time", ((roundTrip * 1.0) / count).ToString());


                //Updating console
                updateConsole n = new updateConsole(form.outputToConsole);
                n(System.Drawing.Color.Black, " ", true);
                n(System.Drawing.Color.Black, "Хост: " + host, true);
                n(System.Drawing.Color.Red, "Ошибок: " + failures + " || ", true);
                if (count > 0)
                    n(System.Drawing.Color.Green, "Среднее время отклика: " + ((roundTrip * 1.0) / count) + "мс", false);
                else
                    n(System.Drawing.Color.Red, "Хост не ответил ни разу.", false);
                
            }
           
            return 0;
        }
Exemplo n.º 2
0
        internal async Task<int> beginTest(main_test_form form, Results results)
        {

            updateConsole n = new updateConsole(form.outputToConsole);

            n(System.Drawing.Color.Red, "Внимание!!! Процедура должна занять некоторое время.\r\nПожалуйста дождитесь окончания процедуры.", true);
            n(System.Drawing.Color.Black, "\r\nТестируем...\r\n\r\n", true);
            n(System.Drawing.Color.Black, "Проверяем локальные хосты...\r\n", true);
            

            await pingLocalHostsMain(form, results);

            n(System.Drawing.Color.Black, "\r\n\r\nПроверяем внешние хосты...\r\n", true);
            await pingRemotelHostsMain(form, results);
            n(System.Drawing.Color.Black, "\r\n\r\nПроверяем скорость...\r\n", true);
            List<String> response = this.CheckSpeed(results);


            n(System.Drawing.Color.Black, "Скорость закачки: ", true);
            n(System.Drawing.Color.Green, response[0] + " Мб/с", false);
            n(System.Drawing.Color.Black, "Скорость выкачки: ", true);
            n(System.Drawing.Color.Green, response[1] + " Мб/с", false);
            updateProgressBar g = new updateProgressBar(form.fillProgressBar);
            g(10);
            return 0;
        }