Avatar billede Slettet bruger
05. april 2006 - 10:49 Der er 5 kommentarer og
1 løsning

Udregn download hastighed?

Hej eksperter!..

Jeg skal udregne download hastigheden i kb/s, men jeg kan ikke hitte ud af hvordan jeg skulle gøre det, er der nogen der kan hjælpe?..

private void StartDLBtn_Click(object sender, EventArgs e)
        {
            IWebProxy proxy = WebRequest.DefaultWebProxy;
            proxy.Credentials = CredentialCache.DefaultCredentials;
            WebRequest.DefaultWebProxy = proxy;
           
            WebClient wc = new WebClient();
            wc.DownloadFileAsync(new Uri(FileToDownload), SavePathBox.Text);
            wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressChanged);
            wc.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadComplete);
        }

        private void DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            double DLSize = Math.Round((double)e.BytesReceived /1024 /1024, 2);
            double TotalSize = Math.Round((double)e.TotalBytesToReceive / 1024 / 1024, 2);

            DlFilename.Text = Path.GetFileName(FileToDownload);
            DlStatus.Text = DLSize.ToString() + " Of " + TotalSize + " MB";
            DownloadBar1.Value = e.ProgressPercentage;
            this.Text = Convert.ToString(e.ProgressPercentage) + "% of 1 file";
        }
Avatar billede Slettet bruger
05. april 2006 - 10:52 #1
Avatar billede bennytordrup Nybegynder
05. april 2006 - 11:01 #2
Prøv dette (ikke testet)

private System.DateTime DLStartTime;
private void StartDLBtn_Click(object sender, EventArgs e)
        {
            IWebProxy proxy = WebRequest.DefaultWebProxy;
            proxy.Credentials = CredentialCache.DefaultCredentials;
            WebRequest.DefaultWebProxy = proxy;
           
            WebClient wc = new WebClient();
            DLStartTime = System.DateTime.Now;
            wc.DownloadFileAsync(new Uri(FileToDownload), SavePathBox.Text);
            wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressChanged);
            wc.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadComplete);
        }

        private void DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            double DLSize = Math.Round((double)e.BytesReceived /1024 /1024, 2);
            double TotalSize = Math.Round((double)e.TotalBytesToReceive / 1024 / 1024, 2);

            System.TimeSpan dlTime = System.DateTime.Now - DLStartTime;
            double dlSpeed = DLSize/dlTime.Seconds;
            DlFilename.Text = Path.GetFileName(FileToDownload);
            DlStatus.Text = DLSize.ToString() + " Of " + TotalSize + " MB";
            DownloadBar1.Value = e.ProgressPercentage;
            this.Text = Convert.ToString(e.ProgressPercentage) + "% of 1 file";
            this.Text += string.Format(" ({0:N2} kb/s", dlSpeed);
        }
Avatar billede bennytordrup Nybegynder
05. april 2006 - 11:01 #3
Skulle være et svar
Avatar billede Slettet bruger
05. april 2006 - 12:33 #4
jeps, fik det til at virke efter lidt rettelser, mange tak!
Avatar billede Slettet bruger
05. april 2006 - 12:33 #5
point
Avatar billede dr_chaos Nybegynder
05. april 2006 - 13:54 #6
paste den kode som virker. Hvis andre har det samme problem.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester