我尝试使用setsockopt函数向接口的多播地址列表添加一个地址,但使用errno EINVAL失败。我把一些的printk在内核代码和它看起来像错误号最终被内核packet_setsockopt功能,因为通过了optlen值小于packet_mreq结构的大小设置。对于我的生活,我无法弄清楚为什么会发生这种情况。下面是相关代码: 您的括号 int addMulticastAddress(int
我想从以前添加到接口的别名IP发送数据到多播组。我使用IP_MULTICAST_IF和别名IP调用setsockopt()。但数据总是从该接口的默认IP发送。为了解释,我提供了一些代码。 ip addr show命令给出ens33界面以下输出: 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state U
我试图将默认套接字发送缓冲区大小更改为小尺寸, 以查看UDP吞吐量如何影响小型UDP数据报。 为此,我使用setsockopt函数与选项SO_SNDBUF和 我试图将缓冲区大小设置为64个字节。我也用getsockopt来看 setsockopt函数的结果。 这里是我使用的代码: int sock_fd;
struct sockaddr_in server_addr;
static int t
我想写一个简单的UDP服务器,它在多播组上发布它的服务端口,但我无法让多播工作。我试着在Microsoft文档中四处查看,并复制/粘贴了他们的一些代码,但它不起作用。这里是有问题的代码: this->port = srvc_port; //11129 in my example
this->mcast_port = mcast_port; //11130 in my example