我希望将UDP组播包发送到环回地址,并在其他应用程序中接收相同的包。所有测试都是在fedora core 17 Linux上完成的。
其思想是通过RTSP/HTTP或任何其他网络协议接收视频流,并在环回地址上多播它,这样我就可以使用VLC播放使用多播地址的流。抛开其他码率和受控组播问题不谈,我尝试读取一个视频文件并在环回设备上组播。但当试图在vlc上玩同样的游戏时,它不起作用。我可以看到数据包在wireshark中传输,但src ip取自我的默认网络接口(即,接口,这是我的默认网关)
我已经尝试了下面的命令
sudo ifconfig lo multicast
sudo ip route ad
我正在努力创建一个与基本客户端和服务器的多播通信。所以我在网上找了个例子.而且它们不起作用。
我的意思是,服务器正在等待一条永远不会到达的消息。
例如,那个:http://www.nmsl.cs.ucsb.edu/MulticastSocketsBook/ (c_send_receive.tar.gz)
所以我想知道是不是Opensuse会封包。
user@linux-uxnx:~> ip link
1: lo: mtu 65536 qdisc状态未知模式默认链接/回环00:00:00:00:00:00 : 00:00:00:00:00:00 2: enp0s25: mtu 1500 q
正在通过多播向我发送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,
我有三个网络接口的计算机-一个真实的和两个VMWare虚拟的。我希望在端口1900上接收来自UPNP设备的多播消息。
我试图激活所有适配器并为每个适配器创建一个套接字。另外,我设置了套接字选项ReuseAddr,关闭ExclusiveAddrUse套接字选项,并将每个套接字添加到多播组239.255.255.250。我将套接字绑定到addr: InterfaceAddr:1900
问题是,只有一个套接字接收消息-一个VMWare网络套接字。netstat -a -o -p UDP >netstat.txt向我展示了我所有的套接字都在监听:
Proto Local address