Pomiar prędkości łącza internetowego C++

0

Witam!
Otóż potrzebuję napisać miernik analogowy do prędkości łącza internetowego, całą symulację mam, w sensie wskaźnik itd itp. Nie wiem tylko skąd mogę pobrać wartość prędkości łącza :( Dodam że całość mam napisać w C++ przy użyciu Rad Studio :) Szukałem na forum ale żadnej konkretnej odpowiedzi ;

Dzięki z góry pozdrawiam ;)

0

Nie ma miejsca z którego mozesz pobrać tą wartość. Jak sam napisałeś piszesz "miernik" wiec musisz tą predkosc zmierzyć, ściągasz jakiś plik z internetu - plik którego rozmiar znasz np 10MB. mierzysz czas jaki ten plik się ściągał i potem dzielisz rozmiar pliku (w megabitach nie megabajtach) przez czas w sekundach i masz podaną przepływność. Oczywiście jeśli ktoś ma b wolne łącze np 256Kbps to będzie czekał na wynik 5 minut, bo tyle potrwa ściągniecie tego pliku. Ktoś kto będzie miał łącze 250Mbps będzie znów czekał... 0.3 sekundy. Dlatego dobrze jest tez dać większy plik np 100MB ale podawać prędkość nie na końcu po ściągnięciu tylko uz w trakcie:

  1. Zaczynasz ściągać.
  2. Czekasz aż minie sekunda, sprawdzasz ile ściągneło przez tą sekundę i dzielisz i masz przepływność.
  3. Wyświetlasz wynik
  4. Wracasz do punktu 1.

Dzięki temu wynik będzie juz po sekundzie, nie trzeba czekać na cały plik. Ale w tym podejsciu wynik może się zmieniać, np przez pierwszą sekunde będzie 5Mbps, przez następną 7Mbps a przez kolejną 11Mbps, bo routing został zoptymalizowany w tym czasie.

0

Analogowy powiadasz? :D
Na speedtest.net jest to rozwiązane w ten sposób że ściągane są małe pliczki .jpg losowo wygenerowane po około 1,0 MB - test trwa zawsze tyle samo czasu - różni się tylko liczba plików którą się zdąży w tym czasie ściągnąć
Taki "miernik" bardzo dużo by kosztował od strony zaplecza - trzeba mieć bardzo wydajną sieć serwerów z bardzo dobrym połączeniem
jeżeli ktoś ma 250 Mbps to bardzo wątpliwe że znajdziesz tani serwer z połączeniem pozwalającym wysyłać z taką prędkością, zwłaszcza kilku osobom jednocześnie - będziesz mierzył nie prędkość Internetu klienta, tylko prędkość wysyłania serwera

Jeżeli to projekt hobbistyczny lub na zaliczenie, taki który może nagle przestać działać za pół roku to możesz skorzystać z serwerów speedtest.net i stamtąd ściągać pliki
Jeżeli nie interesuje Cię dokładność pomiarów tylko chciałbyś pokazać cokolwiek to możesz ściągać losowy plik z losowej strony, ale prawdopodobnie bardzo szybką zablokują - albo Ciebie, albo stronę z której ściągasz przez przekroczony transfer
Jeżeli chcesz coś swojego i profesjonalnego to koszt idący raczej w setki tysięcy

0

Na OVH za 10zł kupisz serwer z łączem 250MB/s więc teoretycznie to nie problem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0