Страница: 1 |
Страница: 1 |
Вопрос: Как узнать свой трафик?
Добавлено: 30.11.06 23:40
Автор вопроса: Святослав
На один вопрос я уже получил ответ. Спасибо всем. Но возник ещё один. Как средствами VB отслеживать входящий и исходсщий трафик при подключении к сети (у меня высокоскоростной). Хочу сам написать программу.
С уважением, Святослав.
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
JMP
Вопросов: 6
Ответов: 171
Профиль | | #1
Добавлено: 01.12.06 07:43
API-
GetIfTable
вернет ссылку на структуру PMIB_IFTABLE pIfTable,
в этой структуре есть под-структура
typedef struct _MIB_IFTABLE {
DWORD dwNumEntries;
MIB_IFROW table[ANY_SIZE]; <-----------------------
} MIB_IFTABLE, *PMIB_IFTABLE;
из этой подструктуры в структруре Table
есть members: dwInOctets и dwOutOctets
вот в них все и лежит для каждого адаптера по раздельности
MIB_IFROW
The MIB_IFROW structure stores information about a particular interface.
typedef struct _MIB_IFROW {
WCHAR wszName[MAX_INTERFACE_NAME_LEN];
DWORD dwIndex;  WORD dwType;
DWORD dwMtu;  WORD dwSpeed;
DWORD dwPhysAddrLen;
BYTE bPhysAddr[MAXLEN_PHYSADDR];
DWORD dwAdminStatus;
DWORD dwOperStatus;
DWORD dwLastChange;
DWORD dwInOctets; <-----------входящий трафик в байтах
DWORD dwInUcastPkts;
DWORD dwInNUcastPkts;
 WORD dwInDiscards;
DWORD dwInErrors;
DWORD dwInUnknownProtos;
DWORD dwOutOctets; <----------исходящий трафик в байтах
DWORD dwOutUcastPkts;
 WORD dwOutNUcastPkts;
DWORD dwOutDiscards;
DWORD dwOutErrors;
DWORD dwOutQLen;
 WORD dwDescrLen;
BYTE bDescr[MAXLEN_IFDESCR];
} MIB_IFROW, *PMIB_IFROW;
Номер ответа: 2
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #2
Добавлено: 01.12.06 11:40
А вот так это будет по-VB:
Public Const MAX_INTERFACE_NAME_LEN = 256
Public Const MAX_TRANSPORT_NAME_LEN = 40
Public Const MAX_MEDIA_NAME = 16
Public Const MAX_PORT_NAME = 16
Public Const MAX_DEVICE_NAME = 128
Public Const MAX_PHONE_NUMBER_LEN = 128
Public Const MAX_DEVICETYPE_NAME = 16
Public Const MAXLEN_IFDESCR = 256
Public Const MAXLEN_PHYSADDR = 8
Public Type MIB_IFROW
wszName(MAX_INTERFACE_NAME_LEN) As String
dwIndex As Long
dwType As Long
dwMtu As Long
dwSpeed As Long
dwPhysAddrLen As Long
bPhysAddr(MAXLEN_PHYSADDR) As Byte
dwAdminStatus As Long
dwOperStatus As Long
dwLastChange As Long
dwInOctets As Long
dwInUcastPkts As Long
dwInNUcastPkts As Long
dwInDiscards As Long
dwInErrors As Long
dwInUnknownProtos As Long
dwOutOctets As Long
dwOutUcastPkts As Long
dwOutNUcastPkts As Long
dwOutDiscards As Long
dwOutErrors As Long
dwOutQLen As Long
dwDescrLen As Long
bDescr(MAXLEN_IFDESCR) As Byte
End Type
Const ANY_SIZE = 1
Public Type PMIB_IFTABLE
dwNumEntries As Long
table(ANY_SIZE) As MIB_IFROW
End Type