【问题标题】:Notify on leaving a multicast group离开多播组时通知
【发布时间】:2012-12-04 14:12:21
【问题描述】:

我在一个多播组上设置了一个监听器

udpclient.JoinMulticastGroup(multicastaddress, localIpAddress);
while(listeing)
    data = udpclient.receive(ref remoteep);

当同一个多播组中的其他成员离开时,我不会收到通知。 我在 IGMP 协议下的 wireshark 中看到了。

当成员离开我的 c# 侦听器上的多播组时如何通知我?

【问题讨论】:

  • 发送您自己的自定义leave 消息。
  • 是的,在一种情况下会这样做,但是如果有人插入电缆或终止应用程序呢。
  • 您永远无法使用 UDP 检测到这一点,因为该协议是无连接的。

标签: c# sockets udp multicast udpclient


【解决方案1】:

你不能。在 C 级别没有针对它的 API,因此无法在更高级别实现 API。

【讨论】:

  • 好的,也许有一个解决方法的想法?如果有人断开连接,如果接收者能得到通知,那就太好了,否则我会做一些“ping linke”消息并等待回复,但我觉得这个解决方案不好。
  • @Gobliins 您可以查看一些可靠的多播协议,例如 TRAM、LRMS 等以获得一些想法。但是多播的基本思想是你不知道也不关心对等点是谁。
猜你喜欢
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
相关资源
最近更新 更多