NetworkStream.Write 方法

定義

多載

Write(ReadOnlySpan<Byte>)

NetworkStream將資料從唯讀位元組範圍寫入 。

Write(Byte[], Int32, Int32)

將資料從指定的位元組陣列範圍寫入至 NetworkStream

Write(ReadOnlySpan<Byte>)

來源:
NetworkStream.cs
來源:
NetworkStream.cs
來源:
NetworkStream.cs

NetworkStream將資料從唯讀位元組範圍寫入 。

C#
public override void Write (ReadOnlySpan<byte> buffer);

參數

buffer
ReadOnlySpan<Byte>

要寫入 NetworkStream 的資料。

例外狀況

存取通訊端時發生錯誤。

-或-

寫入網路時發生失敗。

備註

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

備註

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

備註

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

適用於

.NET 9 和其他版本
產品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

Write(Byte[], Int32, Int32)

來源:
NetworkStream.cs
來源:
NetworkStream.cs
來源:
NetworkStream.cs

將資料從指定的位元組陣列範圍寫入至 NetworkStream

C#
public override void Write (byte[] buffer, int offset, int size);
C#
public override void Write (byte[] buffer, int offset, int count);

參數

buffer
Byte[]

Byte 型別的陣列,包含要寫入至 NetworkStream 的資料。

offset
Int32

buffer 中的位置,要開始自該處寫入資料。

sizecount
Int32

要寫入至 NetworkStream 的位元組數。

例外狀況

buffer 參數為 null

offset 參數小於 0。

-或-

offset 參數大於 buffer 的長度。

-或-

size 參數小於 0。

-或-

size 參數大於 buffer 的長度減去 offset 參數值。

存取通訊端時發生錯誤。

-或-

寫入網路時發生失敗。

範例

下列程式代碼範例會檢查 是否 NetworkStream 可寫入 。 如果是,則會 Write 用來撰寫小型訊息。

C#
// 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.");
}

備註

這個方法會從指定的 offset 開始,並將 位元組從的內容buffer傳送size至網路。 方法 Write 會封鎖,直到傳送要求的位元元數目或 SocketException 擲回 。

備註

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

備註

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

另請參閱

適用於

.NET 9 和其他版本
產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1