# cme_sub **Repository Path**: initios/cme_sub ## Basic Information - **Project Name**: cme_sub - **Description**: cme 短信号解码demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-21 - **Last Updated**: 2026-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1. 禁用源地址路由校验 在加入组播组之前,需要先禁用源地址路由校验,方法如下: ```bash # 编辑系统配置文件: vi /etc/sysctl.conf # 添加以下内容 net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.ens1f1.rp_filter = 0 ``` 运行以下命令可以查看配置是否生效: ```bash sysctl -p ``` --- ### 2. 加入组播组 上面的禁用配置生效之后,就可以加入组播组了 ```bash # 使用addgroup命令加入组播组 ./addgroup -g multi://239.239.240.130@LOCAL_IP#10.123.101.21 & # 参数说明: # 239.239.240.130 - 前面提到的组播目的地址 # 10.123.100.21 - 组播源地址 # LOCAL_IP - 替换为本机IP地址 ``` 为了让addgroup在机器重启后立即启动,可以将上述命令加入到crontab ```bash # 编辑crontab crontab -e # 添加以下内容 @reboot /root/addgroup -g multi://239.239.240.130@LOCAL_IP#10.123.101.21 & ``` --- ### 3. 验证组播接收 运行如下命令查看是否能捕获到目标地址为239.239.240.130的组播包 ```bash tcpdump -i NIC_NAME -nnn host 239.239.240.130 ``` --- ### 4. 运行demo方法 编译和运行示例程序: ```bash # 进入raw_socket目录并编译 cd raw_socket && make # 运行程序,同样NIC_NAME为真实接收组播的网卡名称 ./cme_sub_socket -i NIC_NAME ```