AGMedlem sedan mars 20001 266 inlägg På en kommande sida är det tänkt att reklam skall anpassas till besökarens uppkoppling. Meningen är att besökaren inte skall vara medveten om denna kontroll. Hur gör man då bäst?
Har gått i banorna att beräkna den tid det tar för daorn att skicka en fil av känd storlek, typ includefil. Vad är att rekommendera.
Andreas
LimeMedlem sedan sep. 2001961 inlägg Ping funkar annars ganska bra för att fastställa hastigheten.
ping -l 1024 <host>
Sedan använder man följande formel:
Average Throughput = Bytes transferred x 8(bits in a byte)/Download time
Så när jag pingade min burk hemma fick jag följande:
ping -l 1024 -n 10 <trodde ni ja!>
Reply from <myip>: bytes=1024 time=126ms
Reply from <myip>: bytes=1024 time=129ms
....
Reply from <myip>: bytes=1024 time=211ms
Reply from <myip>: bytes=1024 time=96ms
Ja, medelsnittssvarstiden blev i allafall 125ms.
Så då kan man räkna ut att linan hem är en AT på ~655 Kbit.
Skulle alltså gissa på att jag har ett ADSL-abonnemang.
<La till detta>
http://search.java.sun.com/ClickThru?url=http%3A%2F%2Fjava.sun.com%2Fj2se%2F1.4%2Fdocs%2Fguide%2Fnio%2Fexample%2FPing.java&qt=Ping.java&pathInfo=%2Fjava&hitNum=2&col=jsun0&col=jsun1
Länk till Ping.java. Ping finns ju annars inte i Java.
/Lime
AGMedlem sedan mars 20001 266 inlägg óki.
Jag hade faktiskt gått i banorna kring ping men trodde det var förkastligt. Anledningen var att jag har för mig att man kan göra så att ingen kan pinga en, använder ju en hel del webbplatser sig av. Kan det bli ett problem?
Andreas
spangoMedlem sedan juni 20008 205 inlägg Har man en brandvägg installerad kommer den att dementera att man ens existerar.
AGMedlem sedan mars 20001 266 inlägg Är då idén att beräkna tiden på vad det tar att ladda sidan att rekommendera, eller?
Andreas
LimeMedlem sedan sep. 2001961 inlägg Jorå. Och det finns inget som hindrar dig från att ladda en liten applet, pinga ut från användarens dator till din och sedan räkna.
Om den som har öppnat sidan har stängt alla pingmöjligheter så laddar man den lättaste varianten.
Ping har ju den fördelen att det är en roundtrip. Om jag pingar från A till B så skall vi få samma tider som om B pingar till A.
I teorin alltså... :-)
/Lime
ToonsterMedlem sedan feb. 20001 590 inlägg Svårt att pinga direkt från en Java applet. Möjligtvis från en Windowsdator om man kommer åt någon socket(?)
Det är inte svårt att Pinga från en Java applikation däremot (Lime's länk).
Är det inte lättare med någon Flashlösning?
/T
AGMedlem sedan mars 20001 266 inlägg Hur menar du Toonster med en Flashlösning?
Javaklassenm jag ladadde hem enligt Limes anvisningar skall den bara rätt in i jdk-katalogen?
Andreas
ToonsterMedlem sedan feb. 20001 590 inlägg Nu är jag ingen hejare på Flash, men jag har för mig att man kan skapa väldigt små animationer (läs reklam) som även borde passa en "slö" uppkoppling.
Limes länk går till ett klassbibliotek, men det är nog inget som du får att fungera i en applet, tyvärr.
Undrar just om man inte med ett JavaScript kan känna av när sidan är färdigladdad? isåfall sätt en timer i början av sidan, stoppa klockan när sidan är laddad. Med diverse beräkningar så borde man kunna räkna ut nedladdningstiden (fast jag betvivlar att detta kommer att fungera riktigt bra eftersom nedladdningstider tenderar att diffa gång till gång)
/T
AGMedlem sedan mars 20001 266 inlägg Det som är det primära är att få en hum om besökarens uppkoppling, i grova drag. Fick följande adress av en kontakt.
http://www.pcpitstop.com/internet/default.asp
kanske kan fungera om man pingar med större paket.
Vore även kalasbra ifall någon kunde försöka bifoga en servlet för beräkning av ping.
Andreas
De säkerhetsbegränsningarna som finns på applets med vissa undantag i signerade applets är:
* Den får inte läsa och skriva filer på den maskin som den exekveras på eller lista filer eller kontrollera om en fil existerar.
* Den får inte skapa nätverksförbindelser annat än till den amskin som den kom ifrån.
* Den får inte starta program på den maskin den exekveras på.
* Den får inte läsa vissa systemegenskaper (läs: java.class.path, java.home, user.dir, user.home, user.name)
* Den får inte ladda bibliotek dynamiskt eller innehålla native metoder.
Java stödjer inte ICMP (Internet Control Message Protocol) vad jag vet, därför måste du använda JNI för att prata med ett native-program för att kunna köra en äkta ping, programmet Lime listade kollar hur lång tid det tar att koppla upp en socket mot en dator och är inte en ping i dess riktiga bemärkelse.
Överhuvudtaget så låter det extremt omständigt att hålla på och greja med dylika prylar för att avgöra min uppkopplingshastighet. Om webbtjänsten är av typen där man registrerar sig så är det oändligt mycket bättre att helt enkelt fråga användaren efter han/hennes uppkopplingshastighet.
AGMedlem sedan mars 20001 266 inlägg Hastigheten skall beräknas så fort besökaren anländer. Eventuellt värde kan sedan skrivas in i en cookie.
Jag har studerat koden från pcpitstop och nog lyckats tyda javascript-koden. Skall bnog använda mig av den. Antagligen blir paketet på 50-100kb, borde gå att uthärda vid första besöket kan man tycka.
Andreas
AGMedlem sedan mars 20001 266 inlägg Nu har jag lyckats få upp ett testprogram.
http://www.mycgiserver.com/~lair/bandwidth.jsp
Vänligen genomför testet, jag hoppas verkligen att det ger ett någorlunda hyffsat värde.
Andreas
LimeMedlem sedan sep. 2001961 inlägg Package = 100 KB
Download time = 310 ms
Speed = 2581 kBit/s
Ericsson T3-lina.
Package = 100 KB
Download time = 541 ms
Speed = 1479 kBit/s
10 Mbit - Bredbandbolaget
Package = 100 KB
Download time = 351 ms
Speed = 2279 kBit/s
BoStream 2.5/798 kb