NetworkStream.EndRead(IAsyncResult) Method

Definition

Handles the end of an asynchronous read.

public override int EndRead (IAsyncResult asyncResult);

Parameters

asyncResult
IAsyncResult

An IAsyncResult that represents an asynchronous call.

Returns

The number of bytes read from the NetworkStream.

Exceptions

The asyncResult parameter is null.

The underlying Socket is closed.

-or-

An error occurred when accessing the socket.

Remarks

Important

This is a compatibility API, we don't recommend to use the APM (Begin / End) methods for new development. Instead, use the Task-based equivalents.

The EndRead method completes the read operation started by the BeginRead method. You need to pass the IAsyncResult created by the matching BeginRead call. EndRead will block the calling thread until the operation is completed.

The operation reads as much data as is available, up to the number of bytes specified by the size parameter.

Note

If you receive an IOException, check the InnerException property to determine if it was caused by a SocketException. If so, use the ErrorCode property to obtain the specific error code.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also