NetworkStream.Write Метод

Определение

Перегрузки

Write(ReadOnlySpan<Byte>)

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

Write(Byte[], Int32, Int32)

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

Write(ReadOnlySpan<Byte>)

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

public:
 override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))

Параметры

buffer
ReadOnlySpan<Byte>

Данные для записи в NetworkStream.

Исключения

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

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

-или-

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

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

Комментарии

Этот метод отправляет все байты в buffer сеть. Метод Write блокируется до тех пор, пока не будет отправлено запрошенное число байтов или SocketException не будет создано.

Примечание

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

Примечание

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

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

Write(Byte[], Int32, Int32)

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

public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int size);
public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public override void Write (byte[] buffer, int offset, int size);
public override void Write (byte[] buffer, int offset, int count);
override this.Write : byte[] * int * int -> unit
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (buffer As Byte(), offset As Integer, size As Integer)
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)

Параметры

buffer
Byte[]

Массив типа Byte, содержащий данные для записи в объект NetworkStream.

offset
Int32

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

sizecount
Int32

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

Исключения

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

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

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

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

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

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

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

-или-

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

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

Примеры

В следующем примере кода проверяется, является ли запись доступной NetworkStream для записи. Если это так, Write то используется для записи небольшого сообщения.

// Examples for CanWrite, and CanWrite  
// Check to see if this NetworkStream is writable.
if ( myNetworkStream->CanWrite )
{
   array<Byte>^ myWriteBuffer = Encoding::ASCII->GetBytes(
      "Are you receiving this message?" );
   myNetworkStream->Write( myWriteBuffer, 0, myWriteBuffer->Length );
}
else
{
   Console::WriteLine( "Sorry.  You cannot write to this NetworkStream." );
}
// Examples for CanWrite, and CanWrite

// Check to see if this NetworkStream is writable.
if (myNetworkStream.CanWrite){

     byte[] myWriteBuffer = Encoding.ASCII.GetBytes("Are you receiving this message?");
     myNetworkStream.Write(myWriteBuffer, 0, myWriteBuffer.Length);
}
else{
     Console.WriteLine("Sorry.  You cannot write to this NetworkStream.");
}
' Examples for CanWrite, and CanWrite  
' Check to see if this NetworkStream is writable.
If myNetworkStream.CanWrite Then
   
   Dim myWriteBuffer As Byte() = Encoding.ASCII.GetBytes("Are you receiving this message?")
   myNetworkStream.Write(myWriteBuffer, 0, myWriteBuffer.Length)
Else
   Console.WriteLine("Sorry.  You cannot write to this NetworkStream.")
End If

Комментарии

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

Примечание

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

Примечание

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

См. также раздел

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