深度剖析WinPcap之(九)――数据包的发送过程(3)

1.5      使用发送队列发送数据包的示例(非同步方式)

我们采用实际代码演示如何通过pcap_sendqueue_transmit函数以非同步方式发送大量数据包。只需要在[send_queue工程] send_queue 函数中作如下修改即可:
void send_queue(pcap_t *fp,unsigned int npacks,unsigned int dus)
{
//if ((res = pcap_sendqueue_transmit(fp, squeue, 1))
 < squeue->len)// 同步发送
    if ((res = pcap_sendqueue_transmit(fp, squeue, 0))
< squeue->len)// 非同步发送
}
Wireshark 接收示例程序所发送的数据包如图 9-5 9-6 所示。
9-5 Wireshark所接收的数据包(起始的数据包)
9-6  Wireshark所接收的数据包(结束的数据包)
从图9-5与图9-6所示,可见发送100个数据包花费了990微秒时间,比同步方式快。

你可能感兴趣的:(职场,休闲,winpcap)