gpt4 book ai didi

c - 如何在c中同时读写pcap文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:28:29 25 4
gpt4 key购买 nike

我有 2 个用 C 编写的程序,一个程序写入 pcap 文件,第二个程序同时从中读取。为了编写,我使用以下代码

while(j < 100000)
{
pcount = pcap_dispatch(p,2000,&pcap_dump,(u_char *)pd);
j = j+pcount;
printf("Got %d packets , total packets %d\n",pcount,j);
}

为了解码数据包,我使用以下代码

while( (returnValue=pcap_next_ex(pcap,&header,&data)) >= 0)
{
printf("Packet # %d ",++packetCount);
printf("return value %d\n",returnValue);
}

当我单独运行程序时,即当我停止写入 pcap 文件时,它会完美解码数据包。但是当我同时运行这两个程序时,解码器并没有解码所有的数据包。如果我得到 100 个数据包,解码器将只显示 50-60 个解码数据包。

我们将不胜感激。

最佳答案

在我看来,读者的文件不会在作者写入 pcap 文件后立即更新。这可能是由于读取器的文件指针未刷新的原因,即读取文件的未更新版本。希望它能帮助你。

关于c - 如何在c中同时读写pcap文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38917558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com