UdpClient.SendAsync Method (Byte[], Int32)

.NET Framework (current version)

Sends a UDP datagram asynchronously to a remote host.

Namespace:   System.Net.Sockets
Assembly:  System (in System.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public Task<int> SendAsync(
	byte[] datagram,
	int bytes


Type: System.Byte[]

An array of type Byte that specifies the UDP datagram that you intend to send represented as an array of bytes.

Type: System.Int32

The number of bytes in the datagram.

Return Value

Type: System.Threading.Tasks.Task<Int32>

Returns Task<TResult>.

Exception Condition

dgram is null.


The UdpClient has already established a default remote host.


The UdpClient is closed.


An error occurred when accessing the socket. See the Remarks section for more information.

This overload sends datagrams to the remote host established in the Connect method. If you do not call Connect before calling this overload, the method will throw a SocketException. 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 in MSDN for a detailed description of the error.

If you want to send datagrams to a different remote host, you must call the Connect method and specify the desired remote host. Use either of the other SendAsync method overloads to send datagrams to a broadcast address.

.NET Framework
Available since 4.5
Return to top