Поделиться через


NetworkStream.WriteAsync Метод

Определение

Перегрузки

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Записывает данные в NetworkStream из диапазона памяти байтов, доступного только для чтения, в качестве асинхронной операции.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Записывает данные в NetworkStream из заданного диапазона массива байтов в качестве асинхронной операции.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Исходный код:
NetworkStream.cs
Исходный код:
NetworkStream.cs
Исходный код:
NetworkStream.cs

Записывает данные в NetworkStream из диапазона памяти байтов, доступного только для чтения, в качестве асинхронной операции.

public override System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overrides Function WriteAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask

Параметры

buffer
ReadOnlyMemory<Byte>

Область памяти, содержащая данные для записи в объект NetworkStream.

cancellationToken
CancellationToken

Токен для отслеживания запросов отмены.

Возвращаемое значение

Задача, представляющая асинхронную операцию записи.

Исключения

Параметр NetworkStream не поддерживает запись.

Произошла ошибка при обращении к сокету.

-или-

Произошел сбой в процессе записи в сеть.

Объект NetworkStream закрыт.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Этот метод отправляет все байты в buffer сеть.

Примечание

Проверьте, доступен ли NetworkStream для записи объект , вызвав CanWrite свойство . При попытке выполнить запись в NetworkStream объект , который не поддерживает запись, вы получите .InvalidOperationException

Примечание

Если вы получаете IOException, проверка InnerException свойство , чтобы определить, было ли оно вызвано SocketException. Если это так, используйте ErrorCode свойство , чтобы получить конкретный код ошибки. Подробное описание ошибки см. в документации по коду ошибки в сокетах Windows версии 2.

Применяется к

WriteAsync(Byte[], Int32, Int32, CancellationToken)

Исходный код:
NetworkStream.cs
Исходный код:
NetworkStream.cs
Исходный код:
NetworkStream.cs

Записывает данные в NetworkStream из заданного диапазона массива байтов в качестве асинхронной операции.

public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int size, System::Threading::CancellationToken cancellationToken);
public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task

Параметры

buffer
Byte[]

Массив байтов, данные из которого записываются в NetworkStream.

offset
Int32

Место в буфере buffer, начиная с которого записываются данные.

sizecount
Int32

Число байтов для записи в объект NetworkStream.

cancellationToken
CancellationToken

Токен для отслеживания запросов отмены.

Возвращаемое значение

Задача, представляющая асинхронную операцию записи.

Исключения

Параметр buffer имеет значение null.

Значение параметра offset меньше 0.

-или-

Значение параметра offset больше длины значения, указанного в параметре buffer.

-или-

Значение параметра size меньше 0.

-или-

Значение параметра size больше разности значений длины в параметре buffer и значения параметра offset.

Параметр NetworkStream не поддерживает запись.

Произошел сбой в процессе записи в сеть.

-или-

Произошла ошибка при обращении к сокету.

Объект NetworkStream закрыт.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Этот метод начинается с указанного offset значения и отправляет байты size из содержимого buffer в сеть.

Примечание

Проверьте, доступен ли NetworkStream для записи объект , вызвав CanWrite свойство . При попытке выполнить запись в NetworkStream объект , который не поддерживает запись, вы получите .InvalidOperationException

Примечание

Если вы получаете IOException, проверка InnerException свойство , чтобы определить, было ли оно вызвано SocketException. Если это так, используйте ErrorCode свойство , чтобы получить конкретный код ошибки. Подробное описание ошибки см. в документации по коду ошибки в сокетах Windows версии 2.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Write(Byte[], Int32, Int32).

Применяется к