pcap_sendpacket失败并显示错误“send:try again”

问题描述 投票:0回答:1

我试图在while循环中使用pcap_sendpacket api发送数据包,我成功发送数据包。我在中间加了一些睡眠来控制发送速度。

现在,如果我移除睡眠并尝试尽可能快地发送,我在pcap_sendpacket api中面临错误,说"send: try again"有一半的数据包。我想知道为什么它完全失败了。我有什么办法可以了解更多吗?

我检查了手册页,sendpackets返回-1表示错误,而pcap_geterr我收到了上面的消息。返回值为-1,并没有说明为什么会失败。我检查了pacp库但我无法看到任何此类错误消息。怎么进一步这个?

c linux ethernet libpcap
1个回答
0
投票

您可能尝试发送数据包的速度超过它们可以进入网络的速度,在一个操作系统上,如果用于发送原始数据包的任何缓冲区已满并且您尝试发送另一个数据包。

您可能需要在pcap_sendpacket()调用之间插入短延迟。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.