UdpClient.DropMulticastGroup Method

Definition

Leaves a multicast group.

Overloads

DropMulticastGroup(IPAddress, Int32)

Leaves a multicast group.

DropMulticastGroup(IPAddress)

Leaves a multicast group.

DropMulticastGroup(IPAddress, Int32)

Leaves a multicast group.

public:
 void DropMulticastGroup(System::Net::IPAddress ^ multicastAddr, int ifindex);
public void DropMulticastGroup (System.Net.IPAddress multicastAddr, int ifindex);
member this.DropMulticastGroup : System.Net.IPAddress * int -> unit
Public Sub DropMulticastGroup (multicastAddr As IPAddress, ifindex As Integer)

Parameters

multicastAddr
IPAddress

The IPAddress of the multicast group to leave.

ifindex
Int32

The local address of the multicast group to leave.

Exceptions

The underlying Socket has been closed.

An error occurred when accessing the socket.

The IP address is not compatible with the AddressFamily value that defines the addressing scheme of the socket.

multicastAddr is null.

Examples

The following code example demonstrates how to drop a multicast group by providing a multicast address.

// Send data to ClientTarget.
Console::WriteLine( "\nThe ClientOriginator sent:\n" );
Send::OriginatorSendData( clientOriginator, m_ClientTargetdest );

// Receive data from ClientTarget
Ret = Receive::ReceiveUntilStop( clientOriginator );

// Stop the ClientTarget thread
m_t->Abort();

// Abandon the multicast group.
clientOriginator->DropMulticastGroup( m_GrpAddr );


// Send data to ClientTarget.
Console.WriteLine("\nThe ClientOriginator sent:\n");
Send.OriginatorSendData(clientOriginator, m_ClientTargetdest);

// Receive data from ClientTarget
Ret = Receive.ReceiveUntilStop(clientOriginator);

// Stop the ClientTarget thread
m_t.Abort();

// Abandon the multicast group.
clientOriginator.DropMulticastGroup(m_GrpAddr);

' Send data to ClientTarget.
Console.WriteLine(ControlChars.Lf + "The ClientOriginator sent:" + ControlChars.Lf)
Send.OriginatorSendData(clientOriginator, m_ClientTargetdest)

' Receive data from ClientTarget
Ret = Receive.ReceiveUntilStop(clientOriginator)

' Stop the ClientTarget thread
m_t.Abort()

' Abandon the multicast group.
clientOriginator.DropMulticastGroup(m_GrpAddr)

Remarks

The DropMulticastGroup method withdraws the UdpClient from the multicast group identified by the specified IPAddress. After calling the DropMulticastGroup method, the underlying Socket sends an Internet Group Management Protocol (IGMP) packet to the router, removing the router from the multicast group. After a UdpClient withdraws from the group, it will no longer be able to receive datagrams sent to that group.

Note

If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. After you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

See also

Applies to

DropMulticastGroup(IPAddress)

Leaves a multicast group.

public:
 void DropMulticastGroup(System::Net::IPAddress ^ multicastAddr);
public void DropMulticastGroup (System.Net.IPAddress multicastAddr);
member this.DropMulticastGroup : System.Net.IPAddress -> unit
Public Sub DropMulticastGroup (multicastAddr As IPAddress)

Parameters

multicastAddr
IPAddress

The IPAddress of the multicast group to leave.

Exceptions

The underlying Socket has been closed.

An error occurred when accessing the socket.

The IP address is not compatible with the AddressFamily value that defines the addressing scheme of the socket.

multicastAddr is null.

Examples

The following example demonstrates how to drop a multicast group by providing a multicast address.

// Send data to ClientTarget.
Console::WriteLine( "\nThe ClientOriginator sent:\n" );
Send::OriginatorSendData( clientOriginator, m_ClientTargetdest );

// Receive data from ClientTarget
Ret = Receive::ReceiveUntilStop( clientOriginator );

// Stop the ClientTarget thread
m_t->Abort();

// Abandon the multicast group.
clientOriginator->DropMulticastGroup( m_GrpAddr );


// Send data to ClientTarget.
Console.WriteLine("\nThe ClientOriginator sent:\n");
Send.OriginatorSendData(clientOriginator, m_ClientTargetdest);

// Receive data from ClientTarget
Ret = Receive.ReceiveUntilStop(clientOriginator);

// Stop the ClientTarget thread
m_t.Abort();

// Abandon the multicast group.
clientOriginator.DropMulticastGroup(m_GrpAddr);

' Send data to ClientTarget.
Console.WriteLine(ControlChars.Lf + "The ClientOriginator sent:" + ControlChars.Lf)
Send.OriginatorSendData(clientOriginator, m_ClientTargetdest)

' Receive data from ClientTarget
Ret = Receive.ReceiveUntilStop(clientOriginator)

' Stop the ClientTarget thread
m_t.Abort()

' Abandon the multicast group.
clientOriginator.DropMulticastGroup(m_GrpAddr)

Remarks

The DropMulticastGroup method withdraws the UdpClient from the multicast group identified by the specified IPAddress. After calling the DropMulticastGroup method, the underlying Socket sends an Internet Group Management Protocol (IGMP) packet to the router, removing the router from the multicast group. After a UdpClient withdraws from the group, it will no longer be able to receive datagrams sent to that group.

Note

If you receive a SocketException, use SocketException.ErrorCode to obtain the specific error code. Once you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

See also

Applies to