我正在尝试使用多播将多个 UDP 数据报发送到嵌入式 linux 单元。设备上的内核版本为:
/ # uname -r
2.6.24.6
出于测试目的,我使用此处找到的代码(添加了几个标头并更改了 IP 地址以匹配单元的 IP 地址)
问题是同一组播组中的其他设备(Windows PC)能够接收数据,而该单元不能。我在某处读到必须修改 rp_filter 的值。我尝试了所有选项,但无济于事。
我可以毫无问题地将设备作为服务器运行。但它根本没有收到。
请注意,netstat -g
不起作用。
/ # netstat -g
netstat: invalid option -- g
BusyBox v1.11.2 () multi-call binary
Usage: netstat [-laentuwxr]
Display networking information
Options:
-l Display listening server sockets
-a Display all sockets (default: connected)
-e Display other/more information
-n Don't resolve names
-t Tcp sockets
-u Udp sockets
-w Raw sockets
-x Unix sockets
-r Display routing table
因此,我无法检查组成员身份。
PS:我在一台 linux PC 上运行了相同的程序(代码来自上面的链接),它运行正常。所以代码不是问题。