在 Linux 中开启组播(Multicast)功能需要满足:
在内核编译时需要开启以下配置选项:
代码语言:javascript复制CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTICAST_IPV6=y
RV1106 SDK在使用build.sh kernel编译kernel内核的时候,会显示内核编译配置文件,以荣品的rv1106开发板为例:
代码语言:javascript复制============Start building kernel============
TARGET_ARCH =arm
TARGET_KERNEL_CONFIG =rv1106_defconfig
TARGET_KERNEL_DTS =rp-rv1106.dts
TARGET_KERNEL_CONFIG_FRAGMENT =rv1106-evb.config
查看rv1106_defconfig、rv1106-evb.config 确实没有开启组播功能。
修改方式1 使用内核的make menuconfig进行修改:
alientek@ubuntu:~/rv1106/rv1106_20230626_sdk/sysdrv/source/kernel$ cp ./arch/arm/configs/rv1106_defconfig .config
make ARCH=arm menuconfig
修改完之后,保存为defconfig .config, 并拷贝为 ./arch/arm/configs/rv1106_defconfig .config
修改方式2:
直接修改./arch/arm/configs/rv1106_defconfig .config配置文件,在CONFIG_NET下面,增加一行:
CONFIG_IP_MULTICAST=y
修改验证,组播发送和接收:
./test_mult_client_send 224.100.1.3 10033
./test_mult_server 224.100.1.3 10033
本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com