Geschrieben von: Christian Koller
Kategorie: Komponenten
This printed page brought to you by AlphaSierraPapa
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.
This printed page brought to you by AlphaSierraPapa
Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20000414.zip
Browsereigenschaften mit BrowserHawk 2000 bestimmen
http:/www.aspheute.com/artikel/20000410.htm
BrowserHawk
http://www.browserhawk.com/products/bhawk/download.asp
©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.