Pobieranie informacji o bajtach w sieci

Odpowiedz Nowy wątek
2011-04-05 20:44
0

Witam,
Jest to mój pierwszy post na forum, więc pragnę wszystkich forumowiczów i forumowiczki przywitać.

Długo myslałem nad aplikacją dotyczącą systemu Windows 7. Zauważyłem, że w systemie tym, informacje dot. wysłanych i odebranych danych przez dane połączenie są wyrażone w bajtach. Jak się domyślam, jeżeli korzystamy tylko z jednego połączenia, nie ciężko jest określić ile bajtów transferu nasz komputer dzisiaj wykorzystał. I to jest właśnie zadaniem aplikacji: określić ile danych nasz komputer już wysłał i porównać z podanym wcześniej maksymalnym transferem.
Nie wiem jednak jak się do tego zabrać, tym bardziej, że informacje dot. wysyłanych i odebranych danych nie kojarzą mi się z żadną funkcją lub biblioteką, może poza windows.h...

Możliwe opcje realizacji to: C#.NET, VB.NET i C++.
Będę wdzięczny za każdy pomysł lub kawałek kodu. Odrazu mówię, że nie chce gotowych funkcji lub aplikacji - czego się nie spodziewam i tak - uczę się dopiero.

Z góry dziękuję za wszystkie odpowiedzi ;)

Pozostało 580 znaków

2011-04-05 21:32
0

Wydaje mi się, że powinna Cię zainteresować biblioteka pcap - używa jej się do tworzenia snifferów, a Ty de facto chcesz podsłuchiwać ruch sieciowy ;) Tylko zamiast go analizować chcesz zliczać bajty. Choć mam wrażenie, że nie do końca rozumiem, o co Ci chodzi ;)

Pozostało 580 znaków

2011-04-05 22:26
0

Dokładnie chodzi mi o zliczanie bajtów przesyłanych przez daną sieć. Oczywiście analizuję już bibliotekę którą wymieniłeś, jednak sformułuję jeszcze inne pytanie dotyczące tematu: dane dot. bajtów wysłanych i odebranych użytkownik może odczytać poprzez wejście w Centrum sieci i udostępniania oraz nacisnąć na dane połączenie - w moim przypadku jest to Połączenie lokalne, ponieważ to tego połączenia używam do łączenia z Internetem. Może jednak jest prostszy sposób zdefiniowany w funkcjach systemu Windows, aby dane te odczytać? W końcu gdzieś musi przechowywać te informacje i jakoś uzyskiwać do nich dostęp.

Pozostało 580 znaków

2011-04-05 22:30
Rev
0

Ahem. W .NET jedyne co musisz zrobić to użyć metody GetIPv4Statistics na każdym NetworkInterface, by uzyskać IPv4InterfaceStatistics. Iterujesz po NetworkInterface.GetAllNetworkInterfaces().

http://msdn.microsoft.com/en-us/library/3ew4thdx.aspx


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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