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
以异步操作形式,从 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
要监视取消请求的标记。
返回
表示异步读取操作的 ValueTask<TResult>。 其 Result 属性的值包含读入 buffer
的总字节数。
例外
取消令牌已取消。 此异常存储在返回的任务中。
注解
此方法读取可用 buffer
数据,并返回成功读取的字节数。
注意
通过调用 CanRead 属性检查 是否NetworkStream可读。 如果尝试从不可读的 读取 NetworkStream ,则会收到 InvalidOperationException。
注意
如果收到 ,IOException检查 属性InnerException来确定它是否由 SocketException引起。 如果是这样,请使用 ErrorCode 属性获取特定的错误代码,并参阅 Windows 套接字版本 2 API 错误代码 文档以获取错误的详细说明。
适用于
ReadAsync(Byte[], Int32, Int32, CancellationToken)
- 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 size, System::Threading::CancellationToken cancellationToken);
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 (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);
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, size As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
参数
- buffer
- Byte[]
要写入数据的缓冲区。
- offset
- Int32
buffer
中开始将数据存储到的位置。
- sizecount
- Int32
要从 NetworkStream 中读取的字节数。
- cancellationToken
- CancellationToken
要监视取消请求的标记。
返回
表示异步读取操作的任务。 其 Result 属性的值包含读入 buffer
的总字节数。
例外
取消令牌已取消。 此异常存储在返回的任务中。
注解
此方法将数据读入 buffer
并返回成功读取的字节数。 该 ReadAsync
操作读取的数据量与可用数据量相同,最大为 参数指定的 size
字节数。
注意
通过调用 CanRead 属性检查 是否NetworkStream可读。 如果尝试从不可读的 读取 NetworkStream ,则会收到 InvalidOperationException。
注意
如果收到 ,IOException检查 属性InnerException来确定它是否由 SocketException引起。 如果是这样,请使用 ErrorCode 属性获取特定的错误代码,并参阅 Windows 套接字版本 2 API 错误代码 文档以获取错误的详细说明。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Read(Byte[], Int32, Int32)异常。