nexis
18.04.2006, 13:15:15
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.
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
18.04.2006, 18:53:56
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
18.04.2006, 19:25:04
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.phpluknij 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

)
nexis
18.04.2006, 19:29:50
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
18.04.2006, 19:39:43
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.
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
18.04.2006, 20:19:08
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)
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
18.04.2006, 20:32:22
samo js nie gwarantuje tego że przeglądarka wspiera ajax!
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
18.04.2006, 20:39:13
devnul -> to w takim razie co jest jeszcze potrzebne aby ajax był wsparty przez przeglądarke ?
devnul
18.04.2006, 20:58:20
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/AJAXjeśli czegoś nie wiecie to przynajmniej nie udawajcie ze wiecie
misiek172
18.04.2006, 21:31:36
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
18.04.2006, 22:02:24
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
18.04.2006, 22:19:09
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
18.04.2006, 22:31:00
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.