A client receiver for multicast traffic from any source, also known as Any Source Multicast (ASM) or Internet Standard Multicast (ISM).
Assembly: System.Net (in System.Net.dll)
Thetype exposes the following members.
|MulticastLoopback||Gets or sets a value that specifies whether outgoing multicast packets are delivered to the sending application.|
|ReceiveBufferSize||Gets or sets the size, in bytes, of the receive buffer of the Socket used for multicast receive operations on this instance.|
|SendBufferSize||Gets or sets the size, in bytes, of the send buffer of the Socket used for multicast send operations on this instance.|
|BeginJoinGroup||Binds the socket and begins a join operation to the multicast group to allow datagrams to be received from any group participant.|
|BeginReceiveFromGroup||Begins the operation of receiving a packet from the joined multicast group and invokes the specified callback when a packet has arrived on the group from any sender.|
|BeginSendTo||Begins the operation of sending a unicast packet to the specified destination.|
|BeginSendToGroup||Begins the operation of sending a packet to a joined multicast group and invokes the specified callback when a packet has been sent to the group.|
|BlockSource||Blocks a source so that multicast packets originating from it are no longer received.|
|Dispose||Leaves the multicast group and releases all resources used by the current instance of the class and the underlying Socket.|
|EndJoinGroup||Completes the asynchronous join group operation to a multicast group.|
|EndReceiveFromGroup||Completes the asynchronous operation of receiving a packet from the joined multicast group and provides the information received.|
|EndSendTo||Completes the operation of sending a unicast packet to the specified destination.|
|EndSendToGroup||Completes the operation of sending a packet to a multicast group.|
|Equals(Object)||Determines whether the specified Object is equal to the current Object. (Inherited from Object.)|
|Finalize||Releases the resources held by the current class. (Overrides Object.Finalize().)|
|GetHashCode||Serves as a hash function for a particular type. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
|UnblockSource||Unblocks a source that was previously blocked by a call to the BlockSource method so that multicast packets originating from it can be received.|
The multicast group address must be known, but any group participant may send to the group. Sending sources may be discovered by examining the address of packets received from calls to the BeginReceiveFromGroup method. The source address of the sender is returned by the EndReceiveFromGroup method. These characteristics make any source multicast useful for peer discovery and peer to peer communication.
In addition to sending multicast data to and receiving multicast data from the multicast group, the client can also send unicast data to sources it has received multicast data from. This allows for directed messaging and is useful for protocols which need to pass quality of service or control information back to a source.
To receive multicast from a single source where the address is known in advance, such as in broadcast and content delivery scenarios, see the UdpSingleSourceMulticastClient class.