不用啊,有个pcap_breakloop,调用它,就可以从pcap_loop中退出来了。

解决方案 »

  1.   

    定义一个 bool变量在线程里检测这个变量的变化,比如它变成FALSE,你就终止线程。在程序其它的地方,比如一个按钮,在相应按钮消息的时候改变这个bool变量。
      

  2.   

    同问:pcap_breakloop()应该是放在pcap_handler()函数中吧?因为到这pcap_loop()就一直循环在这了那adhandle应该怎么传进去啊?
    pcap_handler()的三个参数u_char *user, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data中没有句柄啊
      

  3.   

    用全局变量传啊,你也可以在另外一个线程里把他break掉,没必要一定要在pcap_handler()里