# zce_sub **Repository Path**: initios/zce_sub ## Basic Information - **Project Name**: zce_sub - **Description**: 郑商所短信号接收demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-27 - **Last Updated**: 2025-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1. 环境要求 操作系统版本:CentOS Linux release 7.9.2009 (Core) ```bash # 查看系统版本 cat /etc/redhat-release ``` Linux 内核版本:3.10.0-1160.el7.x86_64 ```bash # 查看内核版本 uname -r ``` 网卡型号:ExaNIC X25 ```bash # 查看网卡型号 lspci ``` 网卡配置: ```bash 网卡节点名称:ens1f1 本机IP地址:10.226.13.22 组播目的地址:239.239.239.5 ``` --- ### 2. 禁用源地址路由校验 在加入组播组之前,需要先禁用源地址路由校验,方法如下: ```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 ``` --- ### 3. 加入组播组 上面的禁用配置生效之后,就可以加入组播组了 ```bash # 使用addgroup命令加入组播组 /root/addgroup -g multi://239.239.239.5@10.226.13.22 & # 参数说明: # 239.239.239.5:组播目的地址 # 10.226.13.22:本机IP地址 ``` 为了让add-group在机器重启后立即启动,可以将上述命令加入到crontab ```bash # 编辑crontab crontab -e # 添加以下内容 @reboot /root/addgroup -g multi://239.239.239.5@10.226.13.22 & ``` --- ### 4. 验证组播包接收 运行如下命令查看是否能捕获到目标地址为239.239.239.5的组播包 ```bash tcpdump -i ens1f1 -nnn ``` --- ### 5. 运行demo方法 exanic版本 ```bash # 进入EXANIC目录,编译程序 cd EXANIC && make # 运行程序,其中exanic0:0为网卡名称 ./zce_exanic exanic0:0 ``` raw_socket版本 ```bash # 进入RAW_SOCKET目录,编译程序 cd RAW_SOCKET && make # 运行程序,其中ens1f1为网卡名称 ./zce_raw_socket ens1f1 ```