我需要根据到达 Linux UDP 套接字的数据报的源单播 IPv4 地址执行数据过滤。
当然,总是可以根据recvfrom提供的信息手动执行过滤,但我想知道是否可以有另一种更智能/高效的方法(如果可能,不使用libpcap)。
有什么想法吗?
最佳答案
如果它是您需要允许的单一来源,则只需使用 connect(2)
,内核将为您进行过滤。作为奖励,连接的 UDP 套接字效率更高。当然,这不适用于多个来源。
关于c - 数据报套接字中的单播源地址过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6928089/