我想要接收數據到達的接口的ifindex。我正在使用輔助數據來達到此目的。 當我編譯我的程序,我得到輔助數據:'IP_RECVIF'未聲明(首次在此函數中使用)
src/igmp_pkt_reciever.c:49:21: error: ‘IP_RECVIF’ undeclared (first use in this function)
由於explained here,不斷應在sys/socket.h
定義。我已經包含這個頭文件,但我看到了編譯錯誤。任何人都可以請幫忙。
我想要接收數據到達的接口的ifindex。我正在使用輔助數據來達到此目的。 當我編譯我的程序,我得到輔助數據:'IP_RECVIF'未聲明(首次在此函數中使用)
src/igmp_pkt_reciever.c:49:21: error: ‘IP_RECVIF’ undeclared (first use in this function)
由於explained here,不斷應在sys/socket.h
定義。我已經包含這個頭文件,但我看到了編譯錯誤。任何人都可以請幫忙。
IP_RECVIF
不是Linux套接字選項;鏈接到的文檔是Oracle的Solaris文檔。從Linux socket(7)
一些其他的BSD套接字實現提供
IP_RCVDSTADDR
和IP_RECVIF
套接字選項來獲得目標地址和接收的數據報的 接口。對於相同的任務,Linux具有更一般的IP_PKTINFO
。
所以你需要使用IP_PKTINFO
來代替。上述網頁提供瞭如何使用它的詳細信息。
謝謝,它工作。 –
該網站是Solaris文檔,而不是Linux。 – Barmar