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


NetworkStream.Write Метод

Определение

Перегрузки

Write(ReadOnlySpan<Byte>)

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

Write(Byte[], Int32, Int32)

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

Write(ReadOnlySpan<Byte>)

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

Записывает данные в из 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 версии 2, чтобы получить подробное описание ошибки.

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

Write(Byte[], Int32, Int32)

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

Записывает данные в 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 версии 2, чтобы получить подробное описание ошибки.

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

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