Как узнать скорость получения данных из Интернет?

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Eugie, Romeo, Hawk

Ответить
Lei fang
Сообщения: 49
Зарегистрирован: 28 май 2005, 21:25
Откуда: Саратов
Контактная информация:

15 янв 2006, 18:05

Всем привет!
Кто-нибудь, если знаете, какой API функцией можно узнать скорость получения данных из интернет или, хотя бы, сколько в данный момент получено байт информации. И, вообще, возможно ли это как-то узнать? Просто мне нужно строить график зависимости скорости получения данных из Интернет от времени.
Всем зарание спасибо
Eugie
Сообщения: 707
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

16 янв 2006, 21:42

См. NetStatisticsGet(), описание структуры STAT_WORKSTATION_0. Для получения временнОй информации можно вызывать ее периодически, все скоростные параметры рассчитывать делением на заданный интервал.
Lei fang
Сообщения: 49
Зарегистрирован: 28 май 2005, 21:25
Откуда: Саратов
Контактная информация:

22 янв 2006, 19:52

Кошмар какой, почему же мне уведомление об ответе не пришло на e-mail??? Я уж заглянул сюда с целью посмотреть сколько людей прочитали мой пост, а тут и ответ есть.
Спасибо Eugie! К сожалению я нашел только объявление этой функции
Declare Function NetStatisticsGet Lib "NETAPI32.dll" ( _
ByRef server As LMSTR, _
ByRef service As LMSTR, _
ByVal level As Long, _
ByVal options As Long, _
ByVal bufptr As String) As Long
Мог бы ты сказать, что за параметры в нее передаются?
alexx
Сообщения: 116
Зарегистрирован: 02 июл 2004, 22:29
Откуда: Hamburg

22 янв 2006, 23:05

-------------
Лень - двигатель прогресса!
Eugie
Сообщения: 707
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

23 янв 2006, 12:39

Могу лишь согласиться с alexx :)
Lei fang
Сообщения: 49
Зарегистрирован: 28 май 2005, 21:25
Откуда: Саратов
Контактная информация:

23 янв 2006, 19:20

Спасибо вам. Попробую теперь разобраться что именно значат эти параметры

server
[in] Pointer to a string that specifies the DNS or NetBIOS name of the server on which the function is to execute. If this parameter is NULL, the local computer is used.
Вот это чего такое?
"Указатель на строку содержащую DNS или NetBIOS имя сервера, на котором выполняется эта функция. Если параметр равен 0, то будет использован локальный комп."
Хм... Что же это такое? Какой-то ip адрес? Я так понял мне 0 надо писать?

service
[in] Pointer to a string that specifies the name of the service about which to get the statistics. Only the values SERVICE_SERVER and SERVICE_WORKSTATION are currently allowed.
"Строка, определяющая имя сервиса с которого берется статистика"
Ладно, думаю с двумя параметрами разрулю. Но, все же, это что такое?

level
[in] Specifies the information level of the data. This parameter can be the following value.
Return statistics about a workstation or a server. The bufptr parameter points to a STAT_WORKSTATION_0 or a STAT_SERVER_0 structure.
Перевести могу, но понять нет

bufptr
[out] Pointer to the buffer that receives the data. The format of this data depends on the value of the level parameter. This buffer is allocated by the system and must be freed using the NetApiBufferFree function.
А это по идее указатель на буфер где хранится принятые байты... Что-то тут не то... по-моему. Ведь когда я что-то качаю оно вроде не в какой-то буфер идет, а туда, куда я его сохранил. Или в этом буфере хранится лишь отсчет о принятых байтах?
Ответить