NetworkStream.EndRead(IAsyncResult) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Handles the end of an asynchronous read.
public:
override int EndRead(IAsyncResult ^ asyncResult);
public override int EndRead(IAsyncResult asyncResult);
override this.EndRead : IAsyncResult -> int
Public Overrides Function EndRead (asyncResult As IAsyncResult) As Integer
Parameters
- asyncResult
- IAsyncResult
An IAsyncResult that represents an asynchronous call.
Returns
The number of bytes read from the NetworkStream, between zero (0) and the number of bytes requested. The method returns zero (0) only if zero bytes were requested or if no more bytes are available because the peer socket performed a graceful shutdown. If zero bytes are requested, read operations might complete immediately or might not complete until at least one byte is available (but without consuming any data).
Exceptions
The asyncResult
parameter is null
.
The NetworkStream is closed.
Remarks
Important
This is a compatibility API. We don't recommend using 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.
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.