vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Stark abweichende Downloadgeschwindigkeit 
Autor: Bitscheucher
Datum: 29.05.09 00:04

Hallo Forum,

diesmal wende ich mich nicht mit einem drängenden Problem sondern vielmehr mit einem Verständnisproblem an euch:

Ich lade mittels WebClient einen große Datei asynchron aus dem Netz herunter (funktioniert auch einwandfrei). Weil ich nun ein wenig neugierig bin, wollte ich nun auch die Downloadgeschwindigkeit wissen. Hierzu habe ich mir folgendes einfallen lassen:
Module mdlDownload
 
    Private WithEvents MCl As Net.WebClient
    Private Timer1 As New System.Windows.Forms.Timer()
    Private BytesNew As Long
    Private BytesOld As Long
    Dim dt As New DataTable("tblBytes")
 
    ...
 
  Private Sub DownloadItem()
 
        MCl = New Net.WebClient
        MCl.DownloadFileAsync(New Uri(MBUrl), DownlFile)
 
        'Timer zum ermitteln der Downloadgeschwindigkeit
        AddHandler Timer1.Tick, AddressOf Timer1Events
        Timer1.Interval = 10000   '10sec für ruhigere Anzeige
        Timer1.Start()
 
        'Tabelle zum protokollieren
        dt.Columns.Add("new")
        dt.Columns.Add("old")
        dt.Columns.Add("diff")
        Form1.DataGridView1.DataSource = dt
        Form1.Show()
 
    End Sub
 
    Sub Timer1Events(ByVal myObject As Object, ByVal myEventArgs As EventArgs)
 
        Dim FileInf As FileInfo = New FileInfo(DownlFile)
        Dim dr As DataRow = dt.NewRow
 
        BytesNew = FileInf.Length
        Timer1.Stop()
 
        frmMain.lblSpeed.Text = String.Format("Übertragungsrate: {0:0.0}kB/s", ( _
          BytesNew - BytesOld) / 10240)
        frmMain.lblSpeed.Visible = True
 
        dr(0) = Math.Round(BytesNew / 10240, 1)
        dr(1) = Math.Round(BytesOld / 10240, 1)
        dr(2) = Math.Round(BytesNew / 10240, 1) - Math.Round(BytesOld / 10240, _
          1)
        dt.Rows.Add(dr)
 
        Timer1.Enabled = True
        BytesOld = FileInf.Length
 
    End Sub
...
End Module
Hier nun mal 5 Zeilen aus der Protokolltabelle:
 new     old     diff
 5783,6  5545,1  238,5
 5910,9  5783,6  127,3
 6042,8  5910,9  131,9
 6325,3  6042,8  282,5
 6611,7  6325,3  286,4
Was mich nun sehr wundert ist, dass der parallel mitlaufende IE bei genau der gleichen Datei mit fast schon penetranter Sturheit Übertragungsraten zwischen 215 und 222 kB/s anzeigt.
Nun frage ich mich, ob ich einen Denkfehler habe, meine Lösung nicht funktionieren kann, oder ob die Jungs von MS einfach einen anderen Rechen-Algorythmus zur Ermittlung ihrer Übertragungsrate verwenden.

Wer weiß Rat?

Schon mal vielen Dank im Voraus

Bitscheucher

Beitrag wurde zuletzt am 29.05.09 um 00:05:53 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Stark abweichende Downloadgeschwindigkeit984Bitscheucher29.05.09 00:04
Re: Stark abweichende Downloadgeschwindigkeit518ModeratorRalf Ehlert29.05.09 08:51
Re: Stark abweichende Downloadgeschwindigkeit508Bitscheucher29.05.09 09:57

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel