UdpAnySourceMulticastClient.BeginSendTo Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Begins the operation of sending a unicast packet to the specified destination.
Assembly: System.Net (in System.Net.dll)
public IAsyncResult BeginSendTo( byte[] buffer, int offset, int count, IPEndPoint remoteEndPoint, AsyncCallback callback, Object state )
Parameters
- buffer
- Type:
System.Byte
[]
The buffer that contains the data to send.
- offset
- Type: System.Int32
The offset, in bytes, from the beginning of the buffer to read the data to be sent.
- count
- Type: System.Int32
The number of bytes to send from the buffer.
- remoteEndPoint
- Type: System.Net.IPEndPoint
The remote endpoint to which the packet is to be sent.
- callback
- Type: System.AsyncCallback
The callback method to invoke when the operation completes.
- state
- Type: System.Object
Optional state information to pass to the callback method for this operation.
| Exception | Condition |
|---|---|
| ArgumentNullException | buffer is null. |
| ArgumentOutOfRangeException | offset is less than 0 -or- offset is greater than the length of the buffer. -or- count is less than 0 -or- offset plus the count is greater than the length of the buffer. |
| InvalidOperationException | The multicast group has not yet been joined. |
| ObjectDisposedException | The UdpAnySourceMulticastClient has been disposed. |
| SocketException | An error occurred when attempting to access the socket for sending. See the Remarks section for more information. |
The BeginSendTo method begins an operation of sending a UDP packet to the joined multicast group.
The client must have completed a join to the multicast group. The destination address specified in the remoteEndPoint parameter must have already sent a multicast packet to this receiver. Some protocols use this information to pass along flow control, quality of service statistics, or recovery messages.
The method specified in the callback parameter is invoked when a packet has been sent.
The transmission is only allowed if the address specified in the remoteEndPoint parameter has already sent a multicast packet to this receiver. If the client is not allowed access, a SocketException is thrown with SocketError.AccessDenied.
If the destination port specified in the remoteEndPoint parameter is less than 1,024, a SocketException is thrown with SocketError.AccessDenied.
It is possible to have a socket failure if a send operation fails synchronously, although this is uncommon with UDP. If a socket failure occurs, a SocketException is thrown. The error received is specified as a member of the System.Net.Sockets.SocketError enumeration.