Udostępnij za pośrednictwem


NetworkStream.Write Metoda

Definicja

Przeciążenia

Write(ReadOnlySpan<Byte>)

Zapisuje dane na podstawie NetworkStream zakresu bajtów tylko do odczytu.

Write(Byte[], Int32, Int32)

Zapisuje dane w NetworkStream obiekcie z określonego zakresu tablicy bajtów.

Write(ReadOnlySpan<Byte>)

Źródło:
NetworkStream.cs
Źródło:
NetworkStream.cs
Źródło:
NetworkStream.cs

Zapisuje dane na podstawie NetworkStream zakresu bajtów tylko do odczytu.

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))

Parametry

buffer
ReadOnlySpan<Byte>

Dane do zapisu w obiekcie NetworkStream.

Wyjątki

Element NetworkStream nie obsługuje pisania.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

-lub-

Wystąpił błąd podczas zapisywania w sieci.

Element NetworkStream jest zamknięty.

Uwagi

Ta metoda wysyła wszystkie bajty do buffer sieci. Metoda Write blokuje, dopóki żądana liczba bajtów nie zostanie wysłana lub zostanie zwrócona SocketException wartość .

Uwaga

Sprawdź, czy właściwość NetworkStream jest zapisywalna, wywołując CanWrite właściwość . Jeśli spróbujesz zapisać w obiekcie NetworkStream , który nie jest zapisywalny, otrzymasz wartość InvalidOperationException.

Uwaga

Jeśli otrzymasz element IOException, sprawdź InnerException właściwość , aby ustalić, czy została ona spowodowana przez element SocketException. Jeśli tak, użyj ErrorCode właściwości , aby uzyskać określony kod błędu i zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2, aby uzyskać szczegółowy opis błędu.

Dotyczy

Write(Byte[], Int32, Int32)

Źródło:
NetworkStream.cs
Źródło:
NetworkStream.cs
Źródło:
NetworkStream.cs

Zapisuje dane w NetworkStream obiekcie z określonego zakresu tablicy bajtów.

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)

Parametry

buffer
Byte[]

Tablica typu Byte zawierająca dane do zapisu w obiekcie NetworkStream.

offset
Int32

Lokalizacja, w buffer której ma rozpocząć zapisywanie danych.

sizecount
Int32

Liczba bajtów do zapisania w obiekcie NetworkStream.

Wyjątki

Parametr buffer ma wartość null.

Parametr offset jest mniejszy niż 0.

-lub-

Parametr offset jest większy niż długość buffer.

-lub-

Parametr size jest mniejszy niż 0.

-lub-

Parametr size jest większy niż długość buffer minus wartość parametru offset .

Element NetworkStream nie obsługuje pisania.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

-lub-

Wystąpił błąd podczas zapisywania w sieci.

Element NetworkStream jest zamknięty.

Przykłady

Poniższy przykład kodu sprawdza, czy NetworkStream element jest zapisywalny. Jeśli tak jest, Write zostanie użyta do napisania małej wiadomości.

// 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

Uwagi

Ta metoda rozpoczyna się od określonej offset metody i wysyła bajty size z zawartości buffer do sieci. Metoda Write blokuje, dopóki żądana liczba bajtów nie zostanie wysłana lub zostanie zwrócona SocketException wartość .

Uwaga

Sprawdź, czy właściwość NetworkStream jest zapisywalna, wywołując CanWrite właściwość . Jeśli spróbujesz zapisać w obiekcie NetworkStream , który nie jest zapisywalny, otrzymasz wartość InvalidOperationException.

Uwaga

Jeśli otrzymasz element IOException, sprawdź InnerException właściwość , aby ustalić, czy została ona spowodowana przez element SocketException. Jeśli tak, użyj ErrorCode właściwości , aby uzyskać określony kod błędu i zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2, aby uzyskać szczegółowy opis błędu.

Zobacz też

Dotyczy