首先,PCAP_OPENFLAG_MAX_RESPONSIVENESS 就是设置最小拷贝为0 有数据包,立即触发回调函数
pcap_dispatch行为受以下几个设置的影响:
若pcap_setnonblock(0),表示阻塞模式,pcap_dispatch只有在mintocopy满,或者是timeout到时才返回,返回捕捉到的数据包数
pcap_setnonblock(1),非阻塞,立即返回
pcap_loop相当于多次调用了pcap_dispatch,
对pcap_loop来说,最重要的参数就是cnt,表示需要处理的数据包个数,
若设为小于等于0的值,则调用此函数永不返回,否则读满相应包数才返回
至于timeout参数或pcap_setnonblock,mintocopy对其行为产生影响,根源是对pcap_dispatch产生了影响所致。
因此,pcap_setnonblock对其无效
pcap_breakloop中断dispatch
总结就是要看源码。。。。。