SocketTaskExtensions.ReceiveAsync 方法
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從已連線的通訊端擷取資料。
public:
[System::Runtime::CompilerServices::Extension]
static System::Threading::Tasks::Task<int> ^ ReceiveAsync(System::Net::Sockets::Socket ^ socket, ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags);
C#
public static System.Threading.Tasks.Task<int> ReceiveAsync(this System.Net.Sockets.Socket socket, ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags);
static member ReceiveAsync : System.Net.Sockets.Socket * ArraySegment<byte> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ReceiveAsync (socket As Socket, buffer As ArraySegment(Of Byte), socketFlags As SocketFlags) As Task(Of Integer)
參數
- socket
- Socket
執行接收作業的通訊端。
- buffer
- ArraySegment<Byte>
陣列,是接收資料的儲存位置。
- socketFlags
- SocketFlags
SocketFlags 值的位元組合。
傳回
代表非同步接收作業的工作。
TResult
參數的值,包含已接收的位元組數目。
例外狀況
嘗試存取通訊端時發生錯誤。
適用於
.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.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
從已連線的通訊端擷取資料。
public:
[System::Runtime::CompilerServices::Extension]
static System::Threading::Tasks::Task<int> ^ ReceiveAsync(System::Net::Sockets::Socket ^ socket, System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags);
C#
public static System.Threading.Tasks.Task<int> ReceiveAsync(this System.Net.Sockets.Socket socket, System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags);
static member ReceiveAsync : System.Net.Sockets.Socket * System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ReceiveAsync (socket As Socket, buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags) As Task(Of Integer)
參數
- socket
- Socket
執行接收作業的通訊端。
- buffers
- IList<ArraySegment<Byte>>
陣列,是接收資料的儲存位置。
- socketFlags
- SocketFlags
SocketFlags 值的位元組合。
傳回
代表非同步接收作業的工作。
TResult
參數的值,包含已接收的位元組數目。
例外狀況
參數 buffers
為 null。
嘗試存取通訊端時發生錯誤。
適用於
.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.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
從已連線的通訊端擷取資料。
C#
public static System.Threading.Tasks.ValueTask<int> ReceiveAsync(this System.Net.Sockets.Socket socket, Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken = default);
static member ReceiveAsync : System.Net.Sockets.Socket * Memory<byte> * System.Net.Sockets.SocketFlags * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
<Extension()>
Public Function ReceiveAsync (socket As Socket, buffer As Memory(Of Byte), socketFlags As SocketFlags, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
參數
- socket
- Socket
執行接收作業的通訊端。
- socketFlags
- SocketFlags
SocketFlags 值的位元組合。
- cancellationToken
- CancellationToken
可用來通知應該取消非同步作業的取消權杖。
傳回
具有接收之位元組數目工作,或已達到串流結尾則為 0。
例外狀況
嘗試存取通訊端時發生錯誤。
取消令牌已取消。 此例外狀況會儲存在傳回的工作中。
適用於
.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 |