У меня есть функция pcap_loop в другой функции, которая захватывает пакеты до тех пор, пока пользователь не остановит ее, т.е.
void functionA()
{
signal(SIGINT, terminate_process);
pcap_loop(handle, -1, callback, NULL);
...
}
void terminate_process(int signum)
{
pcap_breakloop(handle);
pcap_close(handle);
}
Можно ли установить продолжительность захвата пакетов? Что-то типа:
if (time(NULL) - start_time > 100)
pcap_breakloop(handle);
Но я не знаю, куда это поместить, потому что до сих пор все примеры, которые я видел, использовали pcap_breakloop в обработчике сигналов, что требует вмешательства пользователя. Как будет проверяться условие времени во время работы pcap_loop?
Спасибо.
С уважением, Рейн
handle
, который вы передалиpcap_breakloop()
вterminate_process()
, как вы можете его использовать? - person Allan Ruin   schedule 20.03.2013