gpt4 book ai didi

c - 如何使用 libpcap 通过 poll() 接收以太网帧

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:35:26 26 4
gpt4 key购买 nike

我有一个项目使用 poll() 来处理包括 TCP 和以太网在内的网络通信。 Poll 用于支持 TCP 或 UDP 连接。最近我想使用 libpcap 来接收帧并使用 poll() 将 libpcap 集成到这段代码中。

poll() 需要知道文件描述符,但 pcap 不返回文件描述符。如何使用 poll() 系统管理 pcap。

该项目在 linux 上使用 C 代码。我不想使用原始套接字的原因是 pcap 的高效率。

最佳答案

如果在 UN*X 上,您有来自 pcap_open_live()pcap_create() 等调用的 pcap_t */pcap_activate(),您可以通过调用 获取文件描述符以交给 poll()select() 或诸如此类的东西>pcap_get_selectable_fd()。请注意,它可以返回 -1,这意味着 select()/poll()/等。在您使用的操作系统版本上,该特定设备不支持。 (操作系统版本对于 Linux 应该无关紧要,但对于某些 BSD 可能很重要。)

关于c - 如何使用 libpcap 通过 poll() 接收以太网帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20029031/

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