NetworkStream.WriteAsync 方法

定義

多載

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

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

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

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

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

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

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

public override System.Threading.Tasks.ValueTask WriteAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.WriteAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Overrides Function WriteAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask

參數

buffer
ReadOnlyMemory<Byte>

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

cancellationToken
CancellationToken

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

傳回

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

例外狀況

存取通訊端時發生錯誤。

-或-

寫入網路時發生失敗。

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

備註

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

注意

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

注意

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

適用於

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

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

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

public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int size, System::Threading::CancellationToken cancellationToken);
public:
 override System::Threading::Tasks::Task ^ WriteAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.WriteAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task
Public Overrides Function WriteAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task

參數

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)擲回的例外狀況。

適用於