首页
学习
活动
专区
圈层
工具
发布

组播源
EN

Stack Overflow用户
提问于 2008-11-14 22:08:26
回答 3查看 494关注 0票数 2

正在通过多播向我发送xml源,但我不知道多播组地址。我可以改用localhost吗?也就是说,

代码语言:javascript
复制
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);

..。

EN

回答 3

Stack Overflow用户

发布于 2008-11-14 22:19:56

不是的。

您(您的客户端)需要加入多播组,您将通过AddMembership连接到多播组IP,然后连接。

否则,您将无法接收多播源。不过,您的代码可以与UDP广播一起工作。

票数 2
EN

Stack Overflow用户

发布于 2008-11-16 00:32:25

严格地说,如果您为非组播地址上的组播数据打开侦听端口,那么您实际上是在侦听标准UDP。组播和UDP之间的区别在于IP地址。这是一个特殊的IPV4地址范围,不绑定到固定主机。相反,它是由网络边缘的路由器以伪发布-订阅方式识别的。在您的子网内,组播在所有目的和目的上都与广播相同。

如果写入多播地址,则该子网中的所有主机都可以使用该地址。如果您的路由器支持组播,则它会将组播提供给上游宣布对其感兴趣的任何客户端。子网的发布/订阅的THink。

所有这些都表明,如果您正在寻找与多播等效的本地主机,那么您可能需要改为查看广播。

票数 2
EN

Stack Overflow用户

发布于 2008-11-14 22:21:03

与单播不同,您需要知道组播的组地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/291605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档