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 的資料。

例外狀況

存取通訊端時發生錯誤。

-或-

寫入網路時發生失敗。

備註

這個方法會將 中的所有 buffer 位元組傳送至網路。 方法 Write 會封鎖,直到傳送要求的位元元數目或 SocketException 擲回 。

注意

藉由呼叫 CanWrite 屬性,檢查是否NetworkStream可寫入 。 如果您試著寫入不可寫入的 NetworkStream ,您會收到 InvalidOperationException

注意

如果您收到 IOException,請檢查 InnerException 屬性,以判斷它是否由 SocketException所造成。 如果是,請使用 ErrorCode 屬性來取得特定的錯誤碼,並參考 Windows Sockets 第 2 版 API 錯誤碼檔,以取得錯誤的詳細描述。

適用於

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 可寫入 。 如果是,則會 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 開始,並將 位元組從的內容buffer傳送size至網路。 方法 Write 會封鎖,直到傳送要求的位元元數目或 SocketException 擲回 。

注意

藉由呼叫 CanWrite 屬性,檢查是否NetworkStream可寫入 。 如果您試著寫入不可寫入的 NetworkStream ,您會收到 InvalidOperationException

注意

如果您收到 IOException,請檢查 InnerException 屬性,以判斷它是否由 SocketException所造成。 如果是,請使用 ErrorCode 屬性來取得特定的錯誤碼,並參考 Windows Sockets 第 2 版 API 錯誤碼檔,以取得錯誤的詳細描述。

另請參閱

適用於