我有三个网络接口的计算机-一个真实的和两个VMWare虚拟的。我希望在端口1900上接收来自UPNP设备的多播消息。
我试图激活所有适配器并为每个适配器创建一个套接字。另外,我设置了套接字选项ReuseAddr,关闭ExclusiveAddrUse套接字选项,并将每个套接字添加到多播组239.255.255.250。我将套接字绑定到addr: InterfaceAddr:1900
问题是,只有一个套接字接收消息-一个VMWare网络套接字。netstat -a -o -p UDP >netstat.txt向我展示了我所有的套接字都在监听:
Proto Local address
我希望将UDP组播包发送到环回地址,并在其他应用程序中接收相同的包。所有测试都是在fedora core 17 Linux上完成的。
其思想是通过RTSP/HTTP或任何其他网络协议接收视频流,并在环回地址上多播它,这样我就可以使用VLC播放使用多播地址的流。抛开其他码率和受控组播问题不谈,我尝试读取一个视频文件并在环回设备上组播。但当试图在vlc上玩同样的游戏时,它不起作用。我可以看到数据包在wireshark中传输,但src ip取自我的默认网络接口(即,接口,这是我的默认网关)
我已经尝试了下面的命令
sudo ifconfig lo multicast
sudo ip route ad
我试图让两个或多个ESP32-S2通过udp从一个到另一个进行通信。因为他们可能不认识对方,ip,我想使用多播。发送MulticastPackets正在工作。(至少我可以在我的PC上监听数据包)。
到目前为止,对另一项(尤指)的接收不起作用。广播电话: 192.168.178.255:7777
接收者使用以下代码:
//Called once after Wifi is connected:
udp.beginMulticast(OAL_Broadcast, OALPort); // 192.168.178.255, 7777 as inputs
//Called periodically
📷
感觉我离解决问题越来越近了.
这是组播的简化版本..。
启用所有接口的-No RPF故障-pim稀疏模式
我强迫一个组加入并从接收路由器点击多播组,并看到了正在转发的数据包。尽管如此,用户仍然没有看到提要。
有一件事我注意到了,那就是我不得不为抛出红旗的那一天准备好了。
在会合点,从原木上看,有很多
%PIM-1-INVALID_RP_REG: Received Register from router x.x.x.x for group 237.0.0.1, 1.2.3.4 not willing to be RP