NetworkStream.WriteAsync 方法

定義

多載

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

以非同步作業將資料從唯讀記憶體位元組記憶體範圍寫入至 NetworkStream

WriteAsync(Byte[], Int32, Int32, CancellationToken)

以非同步作業將資料從指定的位元組陣列範圍寫入至 NetworkStream

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

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

以非同步作業將資料從唯讀記憶體位元組記憶體範圍寫入至 NetworkStream

C#
public override System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);

參數

buffer
ReadOnlyMemory<Byte>

記憶體區域,其中包含要寫入至 NetworkStream 的資料。

cancellationToken
CancellationToken

用來監視是否有取消要求的語彙基元。

傳回

表示非同步寫入作業的工作。

例外狀況

存取通訊端時發生錯誤。

-或-

寫入網路時發生失敗。

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

備註

這個方法會將 中的所有位元組 buffer 傳送至網路。

注意

通叫 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

WriteAsync(Byte[], Int32, Int32, CancellationToken)

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

以非同步作業將資料從指定的位元組陣列範圍寫入至 NetworkStream

C#
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
C#
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);

參數

buffer
Byte[]

位元組陣列,其中包含要寫入至 NetworkStream 的資料。

offset
Int32

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

sizecount
Int32

要寫入至 NetworkStream 的位元組數。

cancellationToken
CancellationToken

用來監視是否有取消要求的語彙基元。

傳回

表示非同步寫入作業的工作。

例外狀況

buffer 參數為 null

offset 參數小於 0。

-或-

offset 參數大於 buffer 的長度。

-或-

size 參數小於 0。

-或-

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

寫入網路時發生失敗。

-或-

存取通訊端時發生錯誤。

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

備註

這個方法會從指定的 offset 開始,並將 位元組buffer從的內容傳送size至網路。

注意

通叫 CanWrite 屬性來檢查 是否NetworkStream可寫入 。 如果您試著寫入 NetworkStream 無法寫入的,您將會收到 InvalidOperationException

注意

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

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Write(Byte[], Int32, Int32)擲回的例外狀況。

適用於

.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 Standard 1.3, 1.4, 1.6, 2.1