我希望收到数据到达的接口的ifindex。我正在为此目的使用辅助数据。 当我编译我的程序时,我得到了
src/igmp_pkt_reciever.c:49:21: error: ‘IP_RECVIF’ undeclared (first use in this function)
作为explained here,常量应在sys/socket.h
中定义。我已经包含了这个头文件,但我看到了编译错误。任何人都可以帮忙。
答案 0 :(得分:1)
IP_RECVIF
不是Linux套接字选项;您链接的文档是Oracle的Solaris文档。来自Linux socket(7)
其他一些BSD套接字实现提供
IP_RCVDSTADDR
和IP_RECVIF
套接字选项获取目标地址和 接收数据报的接口。 Linux有更普遍的IP_PKTINFO
执行相同任务。
所以你需要使用IP_PKTINFO
代替。上面的网页提供了如何使用它的详细信息。