辅助数据:'IP_RECVIF'未声明(首次使用此功能)

时间:2016-06-30 19:24:32

标签: linux sockets

我希望收到数据到达的接口的ifindex。我正在为此目的使用辅助数据。 当我编译我的程序时,我得到了

src/igmp_pkt_reciever.c:49:21: error: ‘IP_RECVIF’ undeclared (first use in this function)

作为explained here,常量应在sys/socket.h中定义。我已经包含了这个头文件,但我看到了编译错误。任何人都可以帮忙。

1 个答案:

答案 0 :(得分:1)

IP_RECVIF不是Linux套接字选项;您链接的文档是Oracle的Solaris文档。来自Linux socket(7)

  

其他一些BSD套接字实现提供IP_RCVDSTADDR和          IP_RECVIF套接字选项获取目标地址和          接收数据报的接口。 Linux有更普遍的          IP_PKTINFO执行相同任务。

所以你需要使用IP_PKTINFO代替。上面的网页提供了如何使用它的详细信息。