发布网友 发布时间:2022-04-29 22:10
共1个回答
热心网友 时间:2022-06-24 04:09
pcap_open_live()中的read_timeout设为0,那你调pcap_next()的时候就会一直等下去,直到有数据包到来。如果你设置一个超时时间,比如100(毫秒),那么你调pcap_next()的时候,超过100毫秒没有收到数据包,就会返回NULL。所以是否要判断pcap_next()==NULL,取决于你设置的timeout是否是0,如果是0的话,其实不用判断的。而且在这整个过程中,没有select()给你调的,可能是别人用了select给你打比方,反而把你搞糊涂了。