NetworkStream.ReadAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| ReadAsync(Memory<Byte>, CancellationToken) |
从 NetworkStream 字节内存范围读取数据并将其作为异步操作存储在字节内存范围内。 |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
从中 NetworkStream 读取数据并将其存储到字节数组的指定范围作为异步操作。 |
ReadAsync(Memory<Byte>, CancellationToken)
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
从 NetworkStream 字节内存范围读取数据并将其作为异步操作存储在字节内存范围内。
public override System.Threading.Tasks.ValueTask<int> ReadAsync(Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
参数
- cancellationToken
- CancellationToken
用于监视取消请求的令牌。
返回
表示异步读取操作的 A ValueTask<TResult> 。 其 Result 属性的值包含读取到 buffer 零(0)和请求的字节数之间的总字节数。 仅当请求了零个字节或没有更多字节可用时,结果值为零(0),因为对等套接字执行了正常关闭。 如果请求了零个字节,则读取操作可能会立即完成,或者直到至少有一个字节可用(但不消耗任何数据)才能完成。
例外
取消令牌已取消。 此异常存储在返回的任务中。
注解
此方法读取可用 buffer 数据量,并返回成功读取的字节数。
注释
通过调用NetworkStream属性来检查该属性是否CanRead可读。 如果尝试从不可读的读取 NetworkStream 项进行读取,你将获得一个 InvalidOperationException。
注释
如果收到一个 IOException属性,请检查该 InnerException 属性以确定它是否是由 a SocketException引起的。 如果是这样,请使用 ErrorCode 属性获取特定的错误代码,并参阅 Windows 套接字版本 2 API 错误代码文档,获取错误的详细说明。
适用于
ReadAsync(Byte[], Int32, Int32, CancellationToken)
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
从中 NetworkStream 读取数据并将其存储到字节数组的指定范围作为异步操作。
public:
override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public:
override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int size, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
参数
- buffer
- Byte[]
要将数据写入到的缓冲区。
- offset
- Int32
开始将数据存储到的位置 buffer 。
- countsize
- Int32
要从中读取的 NetworkStream字节数。
- cancellationToken
- CancellationToken
用于监视取消请求的令牌。
返回
表示异步读取操作的任务。 其 Result 属性的值包含读取到 buffer 零(0)和请求的字节数之间的总字节数。 仅当请求了零个字节或没有更多字节可用时,结果值为零(0),因为对等套接字执行了正常关闭。 如果请求了零个字节,则读取操作可能会立即完成,或者直到至少有一个字节可用(但不消耗任何数据)才能完成。
例外
取消令牌已取消。 此异常存储在返回的任务中。
注解
此方法将数据读入 buffer 并返回成功读取的字节数。 该 ReadAsync 操作读取可用数据量,最多读取参数指定的 count 字节数。
注释
通过调用NetworkStream属性来检查该属性是否CanRead可读。 如果尝试从不可读的读取 NetworkStream 项进行读取,你将获得一个 InvalidOperationException。
注释
如果收到一个 IOException属性,请检查该 InnerException 属性以确定它是否是由 a SocketException引起的。 如果是这样,请使用 ErrorCode 属性获取特定的错误代码,并参阅 Windows 套接字版本 2 API 错误代码文档,获取错误的详细说明。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Read(Byte[], Int32, Int32)..