[英]Receiving multicast UDP packets from a single network interface on macOS
這是一個 macOS 問題。 我正在嘗試設置一個 UDP 套接字,用於接收發送到多播地址的 SSDP 消息,即 UDP 數據包。 我想限制從單個網絡接口接收這些數據包。
我試過
int fd = socket(AF_INET, SOCK_DGRAM, 0);
char* itf = "en0";
int res = setsockopt(fd, SOL_SOCKET, IP_RECVIF, itf, strlen(itf));
setsockopt 調用失敗, errno 42
(協議不可用)。 我還發現了可以用於相同目的的SO_BINDTODEVICE
,但似乎這在 macOS 上不可用。
使用帶有端口和地址的綁定也不起作用。 然后在該套接字上不會收到發送到多播地址的數據包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.