2012-12-04 29 views
1

我成立了一個監聽器上multicastgroup在離開組播組

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

通知AFAIK我沒有得到通知時,在同一multicastgroup葉的其他成員。 我在IGMP協議下的wireshark中看到它。

當我的c#監聽器中的成員離開多播組時,我該如何通知?

+0

發送您自己的自定義「離開」消息。 – jgauffin

+0

是的,它會爲一種情況做,但有人插入電纜或終止應用程序。 – Gobliins

+0

由於協議是無連接的,因此您無法檢測到使用UDP。 – jgauffin

回答

1

你不能。 C級沒有API,所以沒有辦法在更高級別上實施。

+0

好的,也許是一個解決方法的想法?如果一個接收者會得到通知,如果有人已經斷開連接,否則我會做一些「ping linke」消息並等待回覆,但是我覺得這個解決方案不好。 – Gobliins

+2

@Gobliins你可以看看一些可靠的多播協議,如TRAM,LRMS等。但多播的基本思想是你不知道或不在乎同伴是誰。 – EJP