[英]multicast feed
我正在通过多播发送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,
new MulticastOption(IPAddress.Parse("127.0.0.1"),IPAddress.Any));
byte[] data = new byte[1024];
int length = socket.Receive(data);
...
没有。
您(您的客户端)需要加入多播组,将AddMembership添加到多播组IP,然后进行连接。
否则,您将无法接收多播提要。 您的代码可以与UDP广播一起使用。
严格来说,如果您在非多播地址上打开用于多播数据的侦听端口,那么您实际上就是在侦听标准UDP。 组播和UDP之间的区别在于IP地址。 它是不绑定到固定主机的特殊IPV4地址范围。 而是由网络边缘的路由器以伪发布-订阅方式识别它。 在子网内,多播出于所有目的和目的与广播相同。
如果写入多播地址,则该地址可用于子网上的所有主机。 如果您的路由器支持多播,则它将在上游将其提供给任何宣布对其感兴趣的客户端。 可以将其视为发布/订阅子网。
所有这一切都说明,如果您正在寻找与多播等效的本地主机,则可能需要查看广播。
与单播不同,您确实需要知道多播的组地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.