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