Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomiar prędkości łącza
Forum PHP.pl > Forum > PHP
nexis
Witajcie,

mam dylemat odnośnie stworzenia skryptu, który byłby w stanie zmierzyć prędkość łącza na wysyłaniu (upload). Czy za pomocą samego php dałoby radę coś takiego stworzyć? Popularne są tego typu aplikacje napisane w Javie, ale o niej nie mam zielonego pojęcia. Znacie jakieś rozwiązanie?

Myślałem o dwóch drogach:

1) kazać użytkownikowi pobrać pewien plik, a później kazać mu go wysłać na serwer (stały rozmiary pliku przy pomiarach)
2) pozwolić użytkownikowi na wgranie dowolnego pliku np. powyżej 1 MB

Proszę o pomoc.
LBO
Tak jak napisałeś... dobrym rozwiązaniem jest Java (darmowa), ale taką możliwość ma również Flash (darmowy on jednak nie jest)... działa to na zasadzie preloadera, gdzie Flash może odczytywać ile bytów filmu się już załadowało + dodać do tego obsługę czasu i pomiar prędkości łącza jest... sam mam na dysku taki zaawansowany preloader (prędkość łącza, remaining time itp.).. po za tym AJAX chyba oferuję podobną funkcje, ale z tego co mi wiadomo tylko na przeglądarkach opartych o Mozille (Firefox)
nexis
Rozwiązanie we flashu brzmi całkiem logicznie, ale o ile mi wiadomo preloader mierzy prędkość łącza na pobieraniu (download), a jak to zrobić dla uploadu?
maverickkk
Hi.

Może się przyda częściowo do rozwiązania na ajaxie.

Urzywam tej strony do sprawdzania prędkości łacza.

http://speedtest.bitel.net/speedtest4.php

luknij sobie w kod jak jest zrobiony/mierzony download

a upload to może można by było rozwiązać wysyłająć do servera zmiennej/zmiennych zawierających losowy string o dużej długości np 10 KB ale nieznam się na Ajax'ie (jak narazie snitch.gif )
nexis
Cytat(maverickkk @ 2006-04-18 19:25:04)
luknij sobie w kod jak jest zrobiony/mierzony download

A niby gdzie ten kod jest widoczny? W źródle są same krzaczki.
maverickkk
To prawda kodu niema.

Kiedyś patrzyłem na kod tej strony ale od tamtej pry przeszła ona jedną zmiane i widze ze teraz go nie ma, czyli sorki za małe wprowadzenie w bład.

Chodzi o to ze kod strony waży 2 MB ktore ty sciągasz i jest mierzny czas ich sciągnięcia. Stąd te krzaki.
dtb
ajax - najlepsze rozwiazanie:

wysylasz do klienta kod js, ktory generuje losowe ciagi znakow (1024*1024 znakow = 1mb) a nastepnie:
- wysylasz na serwer informacje o rozpoczetym wysylanie (serwer zapisuje w zmiennej czas)
- wysylasz tekst do serwera, kiedy serwer konczy sprawdza czas i zaleznosci pomiedzy pierwszym, drugim czasem i rozmierem wysylanego tekstu

edit: ajax wymaga tylko wlaczonego js w przegladarce klienta
devnul
Cytat
edit: ajax wymaga tylko wlaczonego js w przegladarce klienta

nie tylko, spróbuj sobie odpalić coś korzystającego z ajaxa na np ie3.1 - powodzenia, ajax wymaga odpowiednich bibliotek (zaimplementowanych w przeglądarce)
dtb
ie, mozilla, firefox, opera i wszystkie popularne przegladarki umozliwiaja uzycie ajax, a ie 3.1 nikt juz nie uzywa. 99% (jak nie 100%) userow na pewno moze ogladac strony w ajaksie, wystarczy ze ma wlaczone js.

http://ranking.pl/rank.php?stat=browAL
devnul
samo js nie gwarantuje tego że przeglądarka wspiera ajax!
dtb
czytac nie umiesz? juz sie nie uzywa takich starych przegladarek. ie4 ma 19890 na 15124355 userow. popatrz na ranking przegladarek! mniej osob ma zainstalowany plugin flasha, a jeszcze mniej java'e.
maverickkk
devnul -> to w takim razie co jest jeszcze potrzebne aby ajax był wsparty przez przeglądarke ?
devnul
Cytat
Skrót AJAX oznacza "Asynchronous JavaScript and XML" (lub "Advanced Javascripting and XML"). Technologia ta, wykorzystuję zdolność JavaScriptu do komunikacji z serwerem za pośrednictwem obiektu XMLHttpRequest.

cytat zaczerpnięty z phpedia.pl.
http://phpedia.pl/wiki/AJAX

jeśli czegoś nie wiecie to przynajmniej nie udawajcie ze wiecie
misiek172
możesz zrobić coś takiego że poprostu Automatycznie (gość niewie o tym) plik mu się sciąga na dysk główny a potem automatycznie mu sie uploaduje na serwer przy czym w tym momencie mierzysz prędkość.
devnul
Cytat
możesz zrobić coś takiego że poprostu Automatycznie (gość niewie o tym) plik mu się sciąga na dysk główny a potem automatycznie mu sie uploaduje na serwer przy czym w tym momencie mierzysz prędkość.

wszystko fajnie, tylko jak proponujesz to zrobić. Bo raczej bez wiedzy usera nie masz dostepu do jego dysku - nie mozesz zapisywać ani pobierać dancyh
nexis
Cytat(dtb @ 2006-04-18 20:10:27)
ajax - najlepsze rozwiazanie:

wysylasz do klienta kod js, ktory generuje losowe ciagi znakow (1024*1024 znakow = 1mb) a nastepnie:
- wysylasz na serwer informacje o rozpoczetym wysylanie (serwer zapisuje w zmiennej czas)
- wysylasz tekst do serwera, kiedy serwer konczy sprawdza czas i zaleznosci pomiedzy pierwszym, drugim czasem i rozmierem wysylanego tekstu

A jak się w tym tworzy? Jakiś kurs lub kawałek kodu masz może?
devnul
http://phpedia.pl/wiki/AJAX - tam jest opis podstawowy czym jest ajax i gdzie można znaleźc info o tym jak się w tym "tworzy"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.