我有三个网络接口的计算机-一个真实的和两个VMWare虚拟的。我希望在端口1900上接收来自UPNP设备的多播消息。
我试图激活所有适配器并为每个适配器创建一个套接字。另外,我设置了套接字选项ReuseAddr,关闭ExclusiveAddrUse套接字选项,并将每个套接字添加到多播组239.255.255.250。我将套接字绑定到addr: InterfaceAddr:1900
问题是,只有一个套接字接收消息-一个VMWare网络套接字。netstat -a -o -p UDP >netstat.txt向我展示了我所有的套接字都在监听:
Proto Local address
我试图让两个或多个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
我希望将UDP组播包发送到环回地址,并在其他应用程序中接收相同的包。所有测试都是在fedora core 17 Linux上完成的。
其思想是通过RTSP/HTTP或任何其他网络协议接收视频流,并在环回地址上多播它,这样我就可以使用VLC播放使用多播地址的流。抛开其他码率和受控组播问题不谈,我尝试读取一个视频文件并在环回设备上组播。但当试图在vlc上玩同样的游戏时,它不起作用。我可以看到数据包在wireshark中传输,但src ip取自我的默认网络接口(即,接口,这是我的默认网关)
我已经尝试了下面的命令
sudo ifconfig lo multicast
sudo ip route ad
正在通过多播向我发送xml源,但我不知道多播组地址。我可以改用localhost吗?也就是说,
Socket socket =
new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
IPEndPoint ip = new IPEndPoint(IPAddress.Any,8888);
socket.Bind(ip);
socket.SetSocketOption
(SocketOptionLevel.IP,
SocketOptionName.AddMembership,
我家里有这样的网络。
📷
# ip route show
default via 192.168.0.1 dev enp1s0
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.110
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.10
我在中间使用linux做的是,使用iptables和tc监视互联网的使用情况,并在达到限制时限制数据的使用。
最近,我在我的一台电脑上增加了DVB卡,并使用DVBdream软件,我尝试用La
我有一个具有限制防火墙的系统,它将参与UDP多播(发送和接收)。有什么好的规则可以让主机的防火墙允许这样做呢?
这是我当前的设置,在Solaris上使用ipf:
# Enable UDP multicasting
pass out log quick on INTERFACE proto udp from HOSTIP/32 to 224.0.0.0/4
pass in log quick on INTERFACE proto udp from 224.0.0.0/4 to HOSTIP/32
# Enable multicast ping discovery
pass in log qui
我正试图在我那端有BRI接口的综合业务数字网网络中用C#码接收广播信息。
我使用Comm View tool在某些端口上看到发送到广播ip地址(239.255.255.255)的数据包。
但当我尝试侦听此IP地址时,它显示该地址不在有效的上下文中。
但是当我在端口上向255.255.255.255发送广播消息时,我可以使用以下代码接收这些消息。
此ip地址239.255.255.255有什么问题?
The code I use to listen to broadcast messages is..
UdpClient udp = new UdpClient();
IPEndPoint re