UdpClient.ReceiveAsync Method

.NET Framework 4.6 and 4.5

Returns a UDP datagram asynchronously that was sent by a remote host.

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

[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public Task<UdpReceiveResult> ReceiveAsync()

Return Value

Type: System.Threading.Tasks.Task<UdpReceiveResult>
Returns Task<TResult>.
The task object representing the asynchronous operation.


The underlying Socket has been closed.


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

This operation will not block. The returned Task<TResult>> object will complete after the UDP packet has been received.

If you specify a default remote host in the Connect method, this method will accept datagrams from that host only. All other datagrams will be discarded.

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.

Caution noteCaution

If you intend to receive multicasted datagrams, do not call the Connect method prior to calling this method. The UdpClient you use to receive datagrams must be created using the multicast port number.


The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: ExternalThreading. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

.NET Framework

Supported in: 4.6, 4.5
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft