我目前可以通过这样做来收听我编写的一个简单的广播服务器(它只是广播“你好”):
int fd = socket(PF_INET, SOCK_DGRAM, 0);
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
add.sin_family = AF_INET;
add.sin_port = htons(10074);
bind(fd, struct sockaddr*) &addr, sizeof(addr));
char buf[800];
recvfrom(fd, buf, sizeof(buf), 0, NULL, 0);
我想知道的是,上面将使用什么接口?某种默认?以及如何更改我收听广播的界面?我通过设置imr_address
和结构imr_ifindex
在多播中看到了它,ip_mreqn
但我不确定是否有广播的等价物。