Windiverert Batchmode только возвращает один пакетC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Windiverert Batchmode только возвращает один пакет

Сообщение Anonymous »

У меня есть следующий код, где я пытаюсь захватить пакеты в партии, а затем переосмыслить их обратно в партию, но когда я проверяю пакеты, которые я захватил, есть только один пакет, который, как будто я использовал Windivertsend и Windivertrecv. Я хочу создать компьютерную программу, которая захватывает несколько пакетов около 10 0r 20 сразу, чтобы быть в состоянии идти в ногу с высокоскоростными сетями. Вот мой код: < /p>
#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

#define MAX_BATCH 20 // Number of packets to capture per batch
#define MAX_PACKET_SIZE 1500
UINT recvCount = 0;

UINT8 packets[20 * MAX_PACKET_SIZE]; // Space for up to 20 packets
WINDIVERT_ADDRESS addr[20]; // Addresses for up to 20 packets
UINT addr_len = sizeof(addr);

int main()
{
HANDLE handle = WinDivertOpen("inbound and !loopback", WINDIVERT_LAYER_NETWORK, 0, 0);
if (handle == INVALID_HANDLE_VALUE) {
std::cerr

Подробнее здесь: https://stackoverflow.com/questions/795 ... gle-packet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»