WinPcap - LibPcap - уведомление обработчика пакетов - PullRequest
1 голос
/ 05 марта 2011

Я использую libpcap (Windows Packet Capturing Library) в C.

Мне было интересно, могу ли я получить уведомление до вызова функции packet_handler.Прямо сейчас packet_handler вызывается каждый раз, когда вы получаете пакет.

Любые предложения, как я могу отслеживать, когда пакеты перестали поступать с перерывом в 10 секунд.Мне просто нужно знать «эй, мы снова начали отправлять пакеты - сбросьте настройки или что-то еще»

1 Ответ

0 голосов
/ 05 марта 2011

В вашем обработчике пакетов отслеживайте, когда вы последний раз получали пакет, а затем проверяйте интервал каждый раз, когда вызывается пакетный обработчик.

time_t LastTime = 0;
void packet_handler(....) {
  if (time(0) - LastTime >= 10) {
    resetStuff();
  }
  LastTime = time(0);
  // handle the packet
}
...