【发布时间】:2012-04-01 00:07:51
【问题描述】:
您好,我正在使用 c++ 和 libpcap 进行嗅探器,我想在按 ctrl+c 时停止捕获,这是我的代码:
void Capture::terminate_process(int s){
pcap_breakloop(descr);
pcap_close(descr);
}
void Capture::capturar(){
signal(SIGINT, terminate_process);
pcap_loop (descr, -1, mycallback, NULL);
}
在 .h 我已经声明:
pcap_t *descr;
我已经看到类似的解决方案来解决我的问题,例如:How to use pcap_breakloop? 但是我无法编译,我得到这个错误:
capture.cpp: 138:35: 错误:'void (Capture ::) (int)' 类型的参数不匹配'{aka __sighandler_t void (*) (int)}'
【问题讨论】: