SocketTaskExtensions.ReceiveAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags)
從已連線的通訊端擷取資料。
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);
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
參數的值,包含已接收的位元組數目。
例外狀況
嘗試存取通訊端時發生錯誤。
適用於
ReceiveAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags)
從已連線的通訊端擷取資料。
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);
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。
嘗試存取通訊端時發生錯誤。
適用於
ReceiveAsync(Socket, Memory<Byte>, SocketFlags, CancellationToken)
從已連線的通訊端擷取資料。
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。
例外狀況
嘗試存取通訊端時發生錯誤。
取消令牌已取消。 此例外狀況會儲存在傳回的工作中。