Пример #1
0
        static void Main()
        {
            Console.WriteLine("Getting speedtest.net settings and server list...");
            client   = new SpeedTestClient();
            settings = client.GetSettings();

            IEnumerable <Server> servers = SelectServers();
            Server bestServer            = SelectBestServer(servers);

            Console.WriteLine("Testing speed...");
            double downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);

            PrintSpeed("Download", downloadSpeed);
            double uploadSpeed = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);

            PrintSpeed("Upload", uploadSpeed);

            //Opslaan van resultaten.
            Console.WriteLine("");
            Console.WriteLine("Opslaan van resultaat");
            SaveSpeed("Download", downloadSpeed);
            SaveSpeed("Upload", uploadSpeed);

            Console.WriteLine("Press a key to exit.");
            Console.ReadKey();
        }
Пример #2
0
        static void Main()
        {
            Console.Title = "Jessica's Speed Tester";

            Console.WriteLine("Getting speedtest.net settings and server list...");
            client   = new SpeedTestClient();
            settings = client.GetSettings();

            var servers    = SelectServers();
            var bestServer = SelectBestServer(servers);

            Console.WriteLine("Testing speed...");
            var downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);

            PrintSpeed("Download", downloadSpeed);
            var uploadSpeed = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);

            PrintSpeed("Upload", uploadSpeed);

            DateTime dt = new DateTime(2018, 11, 12);

            dt = DateTime.Now;

            using (StreamWriter sw = new StreamWriter(logfile, true))
            {
                sw.WriteLine("[" + dt.ToString("ddMMyyy HH:mm") + "] Download speed: " + downloadSpeed);
                sw.WriteLine("[" + dt.ToString("ddMMyyy HH:mm") + "] Upload speed: " + uploadSpeed);
            }

            Console.WriteLine("Press a key to exit.");
            Console.ReadKey();
        }
Пример #3
0
        private double GetAverageUploadSpeed(IEnumerable <Server> servers)
        {
            _logger.LogInformation("Testing Upload Speed");

            return(servers
                   .Select(server => _client.TestUploadSpeed(server, _settings.Download.ThreadsPerUrl))
                   .Average());
        }
Пример #4
0
        public static async Task StartSpeedTestAsync()
        {
            DateTime SpeedTestTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm"));

            client   = new SpeedTestClient();
            settings = client.GetSettings();


            var servers    = SelectServers();
            var bestServer = SelectBestServer(servers);

            SpeedTest SpeetTestData = new SpeedTest();

            try
            {
                SpeetTestData.ISP             = settings.Client.Isp;
                SpeetTestData.ClientLatitude  = settings.Client.Latitude;
                SpeetTestData.ClientLongitude = settings.Client.Longitude;
                SpeetTestData.Server          = bestServer.Host;
                SpeetTestData.ServerLatitude  = bestServer.Latitude;
                SpeetTestData.ServerLongitude = bestServer.Longitude;
                SpeetTestData.DelayTime       = bestServer.Latency;
                var downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);
                SpeetTestData.SpeedDownload = PrintSpeed(downloadSpeed);
                var uploadSpeed = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);
                SpeetTestData.SpeetUpload = PrintSpeed(uploadSpeed);
            }
            catch
            {
                SpeetTestData.ClientLatitude  = 0;
                SpeetTestData.ClientLongitude = 0;
                SpeetTestData.ISP             = "Failed";
                SpeetTestData.DelayTime       = -1;
                SpeetTestData.Server          = "Failed";
                SpeetTestData.ServerLatitude  = 0;
                SpeetTestData.ServerLongitude = 0;
                SpeetTestData.SpeedDownload   = "Failed";
                SpeetTestData.SpeetUpload     = "Failed";
            }

            SpeetTestData.Id       = Guid.NewGuid();
            SpeetTestData.TestTime = SpeedTestTime;

            try
            {
                using (PingvalueModels db = new PingvalueModels())
                {
                    db.SpeedTests.Add(SpeetTestData);
                    await db.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                LogGenerator.Add("Start speed test db error: " + ex.Message);
            }
        }
        private double GetAverageUploadSpeed(List <Server> servers)
        {
            _logger.LogInformation("Testing Upload Speed");
            List <double> uploadSpeeds = new List <double>();

            foreach (var server in servers)
            {
                double speed = _client.TestUploadSpeed(server, _settings.Upload.ThreadsPerUrl);
                uploadSpeeds.Add(speed);
            }
            return(uploadSpeeds.Average());
        }
Пример #6
0
        static void Main()
        {
            Console.WriteLine("Getting speedtest.net settings and server list...");
            client = new SpeedTestClient();

            Console.WriteLine("Testing download speed...");
            var downloadSpeed = client.TestDownloadSpeed(4);

            PrintSpeed("Download", downloadSpeed);

            Console.WriteLine("Testing upload speed...");
            var uploadSpeed = client.TestUploadSpeed(2);

            PrintSpeed("Upload", uploadSpeed);
        }
Пример #7
0
        public async System.Threading.Tasks.Task <string> StartSpeedTestAsync()
        {
            client   = new SpeedTestClient();
            settings = await client.GetSettingsAsync();

            Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
            {
                UpdateIndicators("Getting Settings");
            });

            Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
            {
                UpdateIndicators("Getting Client's Country");
            });
            clientCountry = await GetClienCountryAsync();

            Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
            {
                UpdateIndicators("Selecting Best Server by Distance");
            });
            var servers    = SelectServers();
            var bestServer = SelectBestServer(servers);

            UpdateServerInfo(bestServer);

            Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
            {
                UpdateIndicators("Testing Internet Speed");
            });
            var downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);

            UpdateDownloadUi(downloadSpeed);
            //PrintSpeed("Download", downloadSpeed);

            Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
            {
                UpdateIndicators("Testing Internet Speed");
            });
            var uploadSpeed = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);

            //PrintSpeed("Upload", uploadSpeed);
            UpdateUploadUi(uploadSpeed);
            return("Down: " + Math.Round(downloadSpeed / 1024, 2).ToString() + "Up: " + Math.Round(uploadSpeed / 1024, 2).ToString());
            //Console.WriteLine("Press a key to exit.");
            //Console.ReadKey();
        }
Пример #8
0
        static async Task Main()
        {
            string speedTestServerURL = Environment.GetEnvironmentVariable("SpeedTestServerURL") ?? "http://localhost:8080/api/speedtest";
            string clientName         = Environment.GetEnvironmentVariable("ClientName") ?? "Env:ClientName";

            System.Console.WriteLine("v0.02 Client: " + clientName + " Target: " + speedTestServerURL);

            string publicIPv4       = "NoIP";
            bool   serverAccessible = false;

            try
            {
                publicIPv4 = await SpeedTestClient.GetPublicIPv4AddressAsync();

                await SpeedTestClient.ValidateAPIAccess(speedTestServerURL);

                serverAccessible = true;
                System.Console.WriteLine("Success - PublicIP: " + publicIPv4 + " Accessible: " + speedTestServerURL);
            }
            catch (Exception)
            {
                System.Console.WriteLine("Exception - PublicIP: " + publicIPv4 + " Accessible: " + serverAccessible);
                Environment.Exit(0);
            }

            client   = new SpeedTestClient();
            settings = client.GetSettings();

            //var servers = SelectServers();
            var bestServer = SelectDesiredServer(settings.Servers);

            foreach (var server in bestServer)
            {
                SpeedResult speedResult = new SpeedResult();
                speedResult.ServerName   = server.Sponsor;
                speedResult.LatencyMS    = server.Latency;
                speedResult.ServerID     = server.Id;
                speedResult.IP           = publicIPv4;
                speedResult.ClientName   = clientName;
                speedResult.DistanceKM   = Math.Round(server.Distance);
                speedResult.DownloadMbps = Math.Round(client.TestDownloadSpeed(server, settings.Download.ThreadsPerUrl) / 1024, 2);
                speedResult.UploadMbps   = Math.Round(client.TestUploadSpeed(server, settings.Upload.ThreadsPerUrl) / 1024, 2);
                await SpeedTestClient.SendSpeedResult(speedResult, speedTestServerURL);
            }
        }
Пример #9
0
        static void Main(string[] args)
        {
            string output = "{\"Download\": <<d>>, \"Upload\": <<u>>}";

            client   = new SpeedTestClient();
            settings = client.GetSettings();

            var servers    = SelectServers();
            var bestServer = SelectBestServer(servers);

            var downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);
            var uploadSpeed   = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);

            output = output.Replace("<<d>>", CalculateSpeed(downloadSpeed));
            output = output.Replace("<<u>>", CalculateSpeed(uploadSpeed));

            Console.Write(output);
        }
Пример #10
0
        static void Main()
        {
            Console.WriteLine("Getting speedtest.net settings and server list...");
            client = new SpeedTestClient();
            settings = client.GetSettings();
            
            var servers = SelectServers();
            var bestServer = SelectBestServer(servers);
            
            Console.WriteLine("Testing speed...");
            var downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);
            PrintSpeed("Download", downloadSpeed);
            var uploadSpeed = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);
            PrintSpeed("Upload", uploadSpeed);

            Console.WriteLine("Press a key to exit.");
            Console.ReadKey();
        }
Пример #11
0
        static void Main()
        {
            Console.WriteLine("Getting speedtest.net settings and server list...");
            client   = new SpeedTestClient();
            settings = client.GetSettings();

            var servers    = SelectServers();
            var bestServer = SelectBestServer(servers);

            Console.WriteLine("Testing speed...");
            var downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);

            PrintSpeed("Download", downloadSpeed);
            var uploadSpeed = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);

            PrintSpeed("Upload", uploadSpeed);

            Console.WriteLine("Press a key to exit.");
            Console.ReadKey();
        }
Пример #12
0
        static void Main()
        {
            Console.WriteLine("Getting speedtest.net settings and server list...");
            client   = new SpeedTestClient();
            settings = client.GetSettings();

            var servers    = SelectServers();
            var bestServer = SelectBestServer(servers);

            Console.WriteLine("Testing speed...");
            var downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);

            PrintSpeed("Download", downloadSpeed);
            var uploadSpeed = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);

            PrintSpeed("Upload", uploadSpeed);

            var result = Uploader.Upload(uploadSpeed, downloadSpeed, bestServer).Result;

            Thread.Sleep(2000);
        }
Пример #13
0
        List <BenchmarkPartialResult> DoInternalBenchmark()
        {
            var result = new List <BenchmarkPartialResult>();

            base.WriteMessage("Getting speedtest.net settings and server list...");
            client   = new SpeedTestClient();
            settings = client.GetSettings();

            var servers    = SelectServers();
            var bestServer = SelectBestServer(servers);

            base.WriteMessage("Testing speed...");
            var downloadSpeed = client.TestDownloadSpeed(bestServer, settings.Download.ThreadsPerUrl);

            PrintSpeed("Download", downloadSpeed);
            var uploadSpeed = client.TestUploadSpeed(bestServer, settings.Upload.ThreadsPerUrl);

            PrintSpeed("Upload", uploadSpeed);

            result.Add(new BenchmarkPartialResult()
            {
                Description = "UPLOAD",
                ResultType  = BenchmarkResultType.UPLOAD_SPEED,
                Score       = Math.Round(uploadSpeed / 1024, 2),
                MetricScale = MetricScaleType.MEGABYTE
            });
            result.Add(new BenchmarkPartialResult()
            {
                Description = "DOWNLOAD",
                ResultType  = BenchmarkResultType.DOWNLOAD_SPEED,
                Score       = Math.Round(downloadSpeed / 1024, 2),
                MetricScale = MetricScaleType.MEGABYTE
            });
            //result.Score = Math.Round((downloadSpeed + uploadSpeed) / 1024, 2);
            return(result);
        }
        private double TestUploadSpeed(Server server)
        {
            var uploadSpeed = _client.TestUploadSpeed(server, _settings.Upload.ThreadsPerUrl);

            return(ConvertSpeedToMbps(uploadSpeed));
        }