关于pcap_loop()的第四个参数有点困惑

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:42:17
最近查看了WinPcap中文技术文档中关于“收集并统计网络流量”部分,关于pcap_loop()的第四个参数有点困惑。

struct timeval st_ts;
pcap_loop(fp, 0, dispatcher_handler, (PUCHAR)&st_ts);
第四个参数是传递给回调函数dispatcher_handler的。
请问这个pcap_loop究竟能传递给回调函数什么样参数?

看你想干什么了,比如我你只想监控ip为一定的包,可以从BHF机制中过滤掉也可以传进去进行比较,看这个包还要不要。

这个参数跟线程函数中最后一个参数的使用方法一样。
我主要给网络开线程我就把 SOCKFD(套接字)传进去了,以便以后使用,但是前提条件是你需要把套接字强制转换一下,比如(void *)SOCKFD。因为线程参数最后一个事void型的。传进去之后在用(int *)转换回来。

如果你要传进入端口号的话也是需要转换的,(char *)port再传进去,不转的话会,编译时会告诉你参数类型不符。

最后我还是要告诉你,看你到里边需要什么值了。

看函数内容的return()。