NetworkStream.WriteAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
以非同步作業將資料從唯讀記憶體位元組記憶體範圍寫入至 NetworkStream。 |
WriteAsync(Byte[], Int32, Int32, CancellationToken) |
以非同步作業將資料從指定的位元組陣列範圍寫入至 NetworkStream。 |
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
以非同步作業將資料從唯讀記憶體位元組記憶體範圍寫入至 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。
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)擲回的例外狀況。