Недавно я искал какой то заказ на Freelance из всех мне понравилась только одно, создать приложения для учета за интернет трафиком. Так как интересные проекты доверяют только универсальным аккаунтам, а мой пока не из таких :), тогда я решил написать такой софт для себя.
В данной статье я не буду писать как сделать полноценную программу для учета за трафиком, а только покажу как отслеживать сколько трафика мы тратим.
В данной статье я не буду писать как сделать полноценную программу для учета за трафиком, а только покажу как отслеживать сколько трафика мы тратим.
Немножко о том, зачем используют такие приложения.
Провайдера предоставляет определенное количество интернет-трафика за абон плату, при превышении предоставленного лимита нужно платить дополнительные бабки, и не всем это нравится (точнее говоря никому это не нравится). Для того чтоб избежать превышения лимита создают дополнительное программное обеспечение которое при истечению лимита будет выдавать предупредительные сообщения или отключать интернет.
Приступим!
1. Как всегда запуск нашей любимой IDE VS ;)
2. Создадим консольное приложение.
3. Подключим System.Diagnostics в котором предусмотрены классы, позволяющие осуществлять взаимодействие с системными процессами, журналами событий и счетчиками производительности, и System.Net.NetworkInformation обеспечивает доступ к данным о сетевом трафике, сетевым адресам и уведомлениям об изменении адресов локального компьютера. Больше о неймспейсах Diagnostics та Net.NetworkInformation можете узнать на MSDN.
4. Пишем следующий код:
Провайдера предоставляет определенное количество интернет-трафика за абон плату, при превышении предоставленного лимита нужно платить дополнительные бабки, и не всем это нравится (точнее говоря никому это не нравится). Для того чтоб избежать превышения лимита создают дополнительное программное обеспечение которое при истечению лимита будет выдавать предупредительные сообщения или отключать интернет.
Приступим!
1. Как всегда запуск нашей любимой IDE VS ;)
2. Создадим консольное приложение.
3. Подключим System.Diagnostics в котором предусмотрены классы, позволяющие осуществлять взаимодействие с системными процессами, журналами событий и счетчиками производительности, и System.Net.NetworkInformation обеспечивает доступ к данным о сетевом трафике, сетевым адресам и уведомлениям об изменении адресов локального компьютера. Больше о неймспейсах Diagnostics та Net.NetworkInformation можете узнать на MSDN.
4. Пишем следующий код:
PerformanceCounterCategory PCC = new PerformanceCounterCategory("Network Interface");Что здесь сделано: объявил три экземпляра классов PCC, PCS и PCR они используются для получении информации о приеме и отдаче сетевого трафика (чтоб я не писал много можете про них почитайте сами на MSDN Library), далее запустил бесконечный цикл который каждой секунды будет выводить информацию о том сколько трафика тратится и еще поставил проверку на подключения к интернету, когда интернет отключен программа нам об этом скажет. Вот что у вас должно получится
string str = PCC.GetInstanceNames()[0];
PerformanceCounter PCS = new PerformanceCounter("Network Interface", "Bytes Sent/sec", str);
PerformanceCounter PCR = new PerformanceCounter("Network Interface", "Bytes Received/sec", str);
for (; ; )
{
Console.WriteLine("Sent: {0}k\tReceived: {1}k",
PCS.NextValue() / 1024,
PCR.NextValue() / 1024);
Thread.Sleep(500);
if (NetworkInterface.GetIsNetworkAvailable() == false)
{
Console.WriteLine("Internet disconnected");
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
break;
}
}
А теперь кто хочет, может самостоятельно попробовать доработать программу так чтоб она сперва спрашивала какой лимит трафика и по окончанию показывала статистику, в которой будет показано, сколько использовано трафика и сколько еще осталось. Ну или что та в этом роде. Надеюсь это вам будет не очень сложно, ну а если будете что та не понимать тогда пишите мне на почту или в комментариях с удовольствием отвечу на все что будет относится к данной теме.
Удачи в ПРОграммировании!
Недавно я искал какой то заказ на Freelance из всех мне понравилась только одно, создать приложения для учета за интернет трафиком. Так как интересные проекты доверяют только универсальным аккаунтам, а мой пока не из таких :), тогда я решил написать такой софт для себя.
В данной статье я не буду писать как сделать полноценную программу для учета за трафиком, а только покажу как отслеживать сколько трафика мы тратим.
В данной статье я не буду писать как сделать полноценную программу для учета за трафиком, а только покажу как отслеживать сколько трафика мы тратим.
Немножко о том, зачем используют такие приложения.
Провайдера предоставляет определенное количество интернет-трафика за абон плату, при превышении предоставленного лимита нужно платить дополнительные бабки, и не всем это нравится (точнее говоря никому это не нравится). Для того чтоб избежать превышения лимита создают дополнительное программное обеспечение которое при истечению лимита будет выдавать предупредительные сообщения или отключать интернет.
Приступим!
1. Как всегда запуск нашей любимой IDE VS ;)
2. Создадим консольное приложение.
3. Подключим System.Diagnostics в котором предусмотрены классы, позволяющие осуществлять взаимодействие с системными процессами, журналами событий и счетчиками производительности, и System.Net.NetworkInformation обеспечивает доступ к данным о сетевом трафике, сетевым адресам и уведомлениям об изменении адресов локального компьютера. Больше о неймспейсах Diagnostics та Net.NetworkInformation можете узнать на MSDN.
4. Пишем следующий код:
Провайдера предоставляет определенное количество интернет-трафика за абон плату, при превышении предоставленного лимита нужно платить дополнительные бабки, и не всем это нравится (точнее говоря никому это не нравится). Для того чтоб избежать превышения лимита создают дополнительное программное обеспечение которое при истечению лимита будет выдавать предупредительные сообщения или отключать интернет.
Приступим!
1. Как всегда запуск нашей любимой IDE VS ;)
2. Создадим консольное приложение.
3. Подключим System.Diagnostics в котором предусмотрены классы, позволяющие осуществлять взаимодействие с системными процессами, журналами событий и счетчиками производительности, и System.Net.NetworkInformation обеспечивает доступ к данным о сетевом трафике, сетевым адресам и уведомлениям об изменении адресов локального компьютера. Больше о неймспейсах Diagnostics та Net.NetworkInformation можете узнать на MSDN.
4. Пишем следующий код:
PerformanceCounterCategory PCC = new PerformanceCounterCategory("Network Interface");Что здесь сделано: объявил три экземпляра классов PCC, PCS и PCR они используются для получении информации о приеме и отдаче сетевого трафика (чтоб я не писал много можете про них почитайте сами на MSDN Library), далее запустил бесконечный цикл который каждой секунды будет выводить информацию о том сколько трафика тратится и еще поставил проверку на подключения к интернету, когда интернет отключен программа нам об этом скажет. Вот что у вас должно получится
string str = PCC.GetInstanceNames()[0];
PerformanceCounter PCS = new PerformanceCounter("Network Interface", "Bytes Sent/sec", str);
PerformanceCounter PCR = new PerformanceCounter("Network Interface", "Bytes Received/sec", str);
for (; ; )
{
Console.WriteLine("Sent: {0}k\tReceived: {1}k",
PCS.NextValue() / 1024,
PCR.NextValue() / 1024);
Thread.Sleep(500);
if (NetworkInterface.GetIsNetworkAvailable() == false)
{
Console.WriteLine("Internet disconnected");
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
break;
}
}
А теперь кто хочет, может самостоятельно попробовать доработать программу так чтоб она сперва спрашивала какой лимит трафика и по окончанию показывала статистику, в которой будет показано, сколько использовано трафика и сколько еще осталось. Ну или что та в этом роде. Надеюсь это вам будет не очень сложно, ну а если будете что та не понимать тогда пишите мне на почту или в комментариях с удовольствием отвечу на все что будет относится к данной теме.
Удачи в ПРОграммировании!
0 коммент.:
Отправить комментарий