WebSocket.ReceiveAsync 方法

定義

多載

ReceiveAsync(ArraySegment<Byte>, CancellationToken)

以非同步方式從 WebSocket 連接接收資料。

ReceiveAsync(Memory<Byte>, CancellationToken)

以非同步方式從 WebSocket 連接接收資料。

ReceiveAsync(ArraySegment<Byte>, CancellationToken)

來源:
WebSocket.cs
來源:
WebSocket.cs
來源:
WebSocket.cs

以非同步方式從 WebSocket 連接接收資料。

C#
public abstract System.Threading.Tasks.Task<System.Net.WebSockets.WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, System.Threading.CancellationToken cancellationToken);

參數

buffer
ArraySegment<Byte>

參考為已接收資料之儲存體位置的應用程式緩衝區。

cancellationToken
CancellationToken

散佈通知,表示應該取消作業。

傳回

工作物件,表示非同步作業。 工作物件上的 Result 屬性會傳回表示所接收資料的 WebSocketReceiveResult 物件。

例外狀況

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

備註

這項作業不會封鎖。 傳回 Task<TResult> 的物件會在 上 WebSocket收到數據之後完成。

每個 WebSocket 物件都支援一個傳送和一個接收。 不支援同時發出多個接收,而且會導致未定義的行為。 您應該使用鎖定或旗號,透過最適合您的任何機制來串行化接收作業。

適用於

.NET 10 和其他版本
產品 版本
.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, 10
.NET Framework 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 2.0, 2.1

ReceiveAsync(Memory<Byte>, CancellationToken)

來源:
WebSocket.cs
來源:
WebSocket.cs
來源:
WebSocket.cs

以非同步方式從 WebSocket 連接接收資料。

C#
public virtual System.Threading.Tasks.ValueTask<System.Net.WebSockets.ValueWebSocketReceiveResult> ReceiveAsync(Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);

參數

buffer
Memory<Byte>

應用程式緩衝區,其為已接收資料的儲存位置。

cancellationToken
CancellationToken

要用於取消接收作業的取消權杖。

傳回

工作物件,表示非同步作業。 工作物件上的 Result 屬性會傳回表示所接收資料的 ValueWebSocketReceiveResult 物件。

例外狀況

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

適用於

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