Messen der Verbindungsgeschwindigkeit
Geschrieben von: Christian Koller Im Internet ist ein deutlicher Trend zu größeren Datenströmen hin festzustellen. Ob nun ein Anwender einen Film online ansieht, Internet-Radio hört, oder ein MP3-File aus dem Web abspielt, immer ist ein großer Datenstrom zwischen Browser und Internetserver erforderlich. Ein Browser kann über Leitungen unterschiedlicher Geschwindigkeit eine Internetseite von einem Server abrufen. Folgende Faktoren begrenzen die Verbindungsgeschwindigkeit zwischen Browser und Internetserver:
Für Sie als ASP Programmierer bedeutet das, daß Sie Ihre Webapplikationen auf sehr unterschiedliche Datenübertragungsraten abstimmen müssen. Wenn man eine Webapplikation erstellt, die auch mit der langsamsten Verbindung sehr gut arbeiten kann, so muß man zwangsläufig Kompromisse eingehen, zum Beispiel kleinere Grafiken verwenden, keine animierten Bilder oder Videosequenzen in die Internetseite einbinden, usw. Aus diesem Grund ist es oftmals wünschenswert die Datenübertragungsgeschwindigkeit zwischen einem bestimmten User und dem Internetserver zu bestimmen, um je nach Geschwindigkeit dem User unterschiedliche Versionen der Webapplikation bereitstellen zu können. Einfach geht es, wenn man die Professional oder Enterprise Edition der BrowserHawk 2000 Server-Komponente (Firma CyScape) verwendet. Diese Komponente erlaubt Ihnen mit einfachen ASP Befehlen die Datenübertragungsrate zwischen Browser und Server festzustellen. Ausserdem liefert Ihnen diese Komponente viele andere Browsereigenschaften. Das folgende ASP Beispiel zeigt Ihnen die Anwendung der BrowserHawk 2000 Komponente (ausführbares Beispiel): <% ' Test-Seite darf nicht gecached werden ' um vernuenftige Resultate zu bekommen Response.Expires=0 Response.AddHeader "Pragma","no-cache" Response.AddHeader "cache-control", "no-store" Set BrowserHawk = Server.Createobject("CyScape.Browserobj") BrowserHawk.GetExtProperties If BrowserHawk.JavaScriptEnabled = True Then BrowserHawk.SpeedDetector , "Bitte warten...", _ " Die Verbindung wird getestet, bitte warten..." End If %> <html> <head> <title>Verbindungsgeschwindigkeit: Test Resultat</title> </head> <body> <p>Ihre Verbindungsgeschwindigkeit: <% Speed = BrowserHawk.ConnectionSpeed If Speed = -1 Then If (Not BrowserHawk.JavaScriptEnabled) Then Response.Write "Geschwindigkeit nicht messbar da " & _ "JavaScript am Browser nicht ausgeführt werden kann." Else Response.Write "Kleiner als 10 KBytes/sec " & _ "(schlechte Verbindung oder zu großer Datenstrom)" End If Else kBytesProSec = Speed / 8 If kBytesProSec > 2000000 Then Response.Write "Nicht messbar " & _ "(intern zu hoher Wert ermittelt)" Else Response.Write FormatNumber(kBytesProSec) & _ " KBytes/sec" End If End If Set BrowserHawk = Nothing %> </p> </body> </html> Der ASP Code verwendet die ConnectionSpeed Eigenschaft des BrowserHawk Objektes um die Verbindungsgeschwindigkeit zu erhalten. Bevor man jedoch einen Wert aus dieser Eigenschaft auslesen kann, muß man erst die SpeedDetector Methode ausführen. Da die SpeedDetector Methode zur Bestimmung der Datenübertragungsrate im Browser ein JavaScript Programm ablaufen lässt, ist es günstig, vor dem Aufrufen der SpeedDetector Methode zu prüfen, ob der Browser JavaScript ausführen kann. Dies geschieht durch Aufruf der GetExtProperties Methode und dem Auslesen der JavaScriptEnabled Eigenschaft. Liefert die JavaScriptEnabled nach Aufruf der GetExtProperties Methode den Wert True, so ist der Browser in der Lage JavaScript Programme auszuführen. Was die SpeedDetector Methode genau macht ist schnell erklärt: Sie schickt ein JavaScript Programm zum Browser, das aus 3 Blöcken besteht:
Wenn eine ASP Seite die SpeedDetector oder GetExtProperties Methode der BrowserHawk Komponente ausführt, so kann sie nicht gleichzeitig das Ergebnis eines mittels POST-Methode abgesendeten Formulares entgegen nehmen. Hingegen wird der Inhalt eines mittels GET-Methode abgesendetes Formular problemlos an die ASP Seite weitergereicht. Download des CodesKlicken Sie hier, um den Download zu starten. Verwandte Artikel
Browsereigenschaften mit BrowserHawk 2000 bestimmen Links zu anderen SitesWenn Sie jetzt Fragen haben...Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten. Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.
Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.
©2000-2006 AspHeute.com |