настоящее время я использую Libpcap для перехвата трафика в беспорядочном режимеКак сделать libpcap/pcap_loop неблокирующим?
int main()
{
// some stuff
printf("Opening device: %s\n", devname.c_str());
handle = pcap_open_live(devname.c_str(), 65536 , 1 , 0 , errbuf);
if (handle == NULL)
{
fprintf(stderr, "Couldn't open device %s : %s..." , devname.c_str(), errbuf);
return 1;
}
printf(" Done\n");
pcap_loop(handle , -1 , process_packet , NULL);
// here run a thread to do some stuff. however, pcap_loop is blocking
return 0;
}
Я хотел бы добавить внешнюю резьбу, чтобы сделать некоторые другие вещи. Как изменить код выше, чтобы сделать его неблокирующим?
Запустить эту тему, прежде чем вызывать pcap_loop? –
Я могу попробовать, но что, если я захочу сделать что-то еще после pcap_loop? – Bob