Bandbreite ermitteln
lima-city → Forum → Programmiersprachen → Java
anzahl
applet
attribut
bandbreite
beispiel
berechnen
date
datei
datum
form
jung
kanal
kompression
korrekte messung
machen
messen
server
string
warten
zeichen
-
Ich w?rde gern mit Java die Bandbreite ermittlen, aber irgend wie weiss ich nicht wie ich das am besten machen k?nnte? Kann einer helfen?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hmmm, schwierig ...
vermute einfach mal, dass e nicht so ohne weiter geht, da Java ja nicht direkt auf die Ressourcen des Betriebssystem zugreifen kann.
Weiss nicht, obs klappt, aber probier doch z.B. 100KB, die du dynamisch erzeugts, ?ber einen Socket an die Loopbackadresse zu senden.
Dann stoppst du wie lange du brauchst und kannst absch?tzen, welchen Datendurchsatz du auf der Netztwerkkarte hast. -
Schau doch mal ins Tutorial unter http://lima-city.de/tutorials.php?mode=show&id=241
Vielleicht ist ds der Script, den du suchst! -
Send doch einfach ?ber PHP 100 KB zuf?llige Daten in Form eines Strings von Javascript. Die ersten 6 Zeichen ist die zeit, wo die ?bertragung angefangen hat, die letzten 6 sind die Zeit, wo die ?bertragung aufh?rt. Das gibste dann als attribut an ein Javaapplet...
so einfach geht des glaub ich net....
du musst eine ausreichend gro?e datei mit dem java-applet runterladen und dabei die zeit messen.
allerdings gilt es zu beachten, dass 100KB bei DSL keine korrekte Messung zulassen, w?hrend es bei ISDN schon 13s dauert, bis mas hat.
-
so einfach geht des glaub ich net....
du musst eine ausreichend gro?e datei mit dem java-applet runterladen und dabei die zeit messen.
allerdings gilt es zu beachten, dass 100KB bei DSL keine korrekte Messung zulassen, w?hrend es bei ISDN schon 13s dauert, bis mas hat.
Dann lass, wenn der Wert z.B. kleiner 2 Sek ist noch ne gr??ere Datei ?bertragen -
Hehe, Jungs bzw. M?dels: das ganze soll ?ber Java gehen, und diehnt dazu damit ich etwas lerne und nicht einfach mal ein Script von jemandem nehme
und es einfach benutze :)
P.S.: zwischen Java und JavaScript sind Welten! -
Hallo
Hehe, Jungs bzw. M?dels: das ganze soll ?ber Java gehen, und diehnt dazu damit ich etwas lerne und nicht einfach mal ein Script von jemandem nehme
und es einfach benutze :)
Tja, da hast du dir aber nichts leichtes ausgesucht. :-))
Denn ich kenne keine Klasse die sowas einfach macht.
Kannst ja mal in Package java.net nachschauen ( http://java.sun.com/j2se/1.4.2/docs/api/java/net/package-summary.html ).
Vielleicht findest du da ja was du suchst.
Aber um java zu lerne w?de ich mir was einfaches suchen.
Jens -
Habe zwar noch nicht versucht eure Idee zu realisieren aber ich kann mir eigentlich nicht vorstellen, dass euer "Zeitmess-Verfahren" zuverl?ssige Ergbenisse liefern wird, da ein Datentransfer ja erst "hochbeschleunigt".
Au?erdem d?rfte ein Transfer von den genannten 100kb nicht reichen, da bei solchen kleinen Datenmengen die Zeitdifferenzen unterschiedlicher Bandbreiten, ja noch realtiv gering sein d?rften, oder?
Also, wirklich gar nicht so einfach!
Romeo -
Dann nimm' halt gr??ere Daten.
Ein einfacher Ansatz ist es, einfach die Zeit messen, wie lange der Empfang von Daten dauert.
Also folgende Schritte:
Server
1. Daten erzeugen
2. Kanal ?ffnen und dem Client, die Anzahl der Daten ?bermitteln
3. Uhrzeit speichern
4. Daten sende
5. Auf Best?tigung des Clients warten
6. Zeit berechnen
Client:
1. Kanal ?ffnen
2. auf die Anzahl der Daten warten
3. Zeit speichern
4. Daten entsprechend Anzahl lesen
5. Zeit berechnen
6. zum Server schicken -
a) das was ihr meint, ist Java-Script und kein Java (!)... habe es daher auch in HTML & JavaScript verschoben (mit Java gibt es keine M?glichkeit, zumindest nicht bekannt, auch in keinem meiner B?cher steht was drin)
b) Es gibt ne bessere M?glichkeit! Man kann ja erstmal einen ganz kleinen Text eingeben! Sollte die Zeit ziemlich gering sein, wird noch ein gr??erer text (in Kommentarklammern) direkt hinterhergeladen. Somit dauert es z.B. bei einem 56k Modem nicht ca. 20 Sek. bei 100KB. Man kann nach dem ersten Scriptteil, wenn es ?ber eine Sekunde dauert (Bsp. 8 KB) den Befehl dokument.location.replace("56kdatei.php") setzen!
Beispiel:
a = new Date()*1
/*
blablabla 8 KB
*/
b = new Date()*1
if (b-a > 1000) document.location.replace("56kdatei.php")
a = new Date()*1
/*
blablabla 200kb
*/
b = new Date()*1
if (b-a > 20000) document.location.replace("56kdatei.php")
else document.location.replace("dsldatei.php")
Bitte dabei unbedingt beachten!!!
Benutzt bitte nicht 200000 mal den ein und selben Buchstaben! Gute komprimierbare Werte verf?lschen das Ergebnis total! Viele Internetnutzer haben die Datenkompression bei 56k Modems aktiviert! Je nach Kompression kann es sogar passieren, das die ersten 8 KB in nullkommanix geladen sind (durch Kompression) und dann der Script denkt, das es sich um einen DSL-Zugang handelt! Benutzt am besten alles, was die Tastatur hergibt!!!
Kloppt drauf rum (aber macht sie nicht kaputt ) -
a) das was ihr meint, ist Java-Script und kein Java (!)... habe es daher auch in HTML & JavaScript verschoben (mit Java gibt es keine M?glichkeit, zumindest nicht bekannt, auch in keinem meiner B?cher steht was drin)
Ich habe ein Beispiel gebracht, wie man mit Java die Bandbreite messen kann. Das war auch gefragt. Die zur Verf?gung stehende Bandbreite mit HTML und mit Javascript zu messen ist nicht m?glich (im Gegensatz zu Java).
Dein Beispiel mit Javascript kann nicht klappen, da Javascript im Browser ausgef?hrt wird. Also verschieb' es zur?ck und kaufe Dir andere B?cher -
Ich habe jetzt mal genauer durchs Web geschaut, und mu? dir aufjedenfall sagen, das die Sache mit der Java-Bandbreite keine 100%ig genauen Ergebnisse liefern kann! Jedoch... zur?ckgeschoben!
Ich w?re dir dankbar, wenn du zumindest auch mal detailliert posten w?rdest, wie so ein JavaText aussieht. Es gibt schlie?lich auch irgendwo immer nen Zeitverlust durch die Anfragen! Ich w?rde deine Methode, die du mit Server und Client meinst nur schwer verstehen!
Der JavaScript funktioniert ?brigens einwandfrei, da ich ihn bereits seit l?ngerer Zeit schon erfolgreich auf einer Webseite verwende! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage