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 錯誤碼檔,以取得錯誤的詳細描述。

另請參閱

適用於