Socket.ReceiveAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
ReceiveAsync(ArraySegment<Byte>) |
接続されたソケットからデータを受信します。 |
ReceiveAsync(IList<ArraySegment<Byte>>) |
接続されたソケットからデータを受信します。 |
ReceiveAsync(SocketAsyncEventArgs) |
接続されている Socket オブジェクトからデータを受信する非同期要求を開始します。 |
ReceiveAsync(ArraySegment<Byte>, SocketFlags) |
接続されたソケットからデータを受信します。 |
ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags) |
接続されたソケットからデータを受信します。 |
ReceiveAsync(Memory<Byte>, CancellationToken) |
接続されたソケットからデータを受信します。 |
ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken) |
接続されたソケットからデータを受信します。 |
ReceiveAsync(ArraySegment<Byte>)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されたソケットからデータを受信します。
public:
System::Threading::Tasks::Task<int> ^ ReceiveAsync(ArraySegment<System::Byte> buffer);
public System.Threading.Tasks.Task<int> ReceiveAsync (ArraySegment<byte> buffer);
member this.ReceiveAsync : ArraySegment<byte> -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffer As ArraySegment(Of Byte)) As Task(Of Integer)
パラメーター
- buffer
- ArraySegment<Byte>
受信したデータのバッファー。
戻り値
受信したバイト数で完了する非同期タスク。
例外
Socket が閉じられました。
ソケットへのアクセスを試行しているときにエラーが発生しました。
適用対象
ReceiveAsync(IList<ArraySegment<Byte>>)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されたソケットからデータを受信します。
public:
System::Threading::Tasks::Task<int> ^ ReceiveAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers);
public System.Threading.Tasks.Task<int> ReceiveAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers);
member this.ReceiveAsync : System.Collections.Generic.IList<ArraySegment<byte>> -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffers As IList(Of ArraySegment(Of Byte))) As Task(Of Integer)
パラメーター
- buffers
- IList<ArraySegment<Byte>>
受信したデータのバッファーの一覧。
戻り値
受信したバイト数で完了する非同期タスク。
例外
パラメーターが buffers
null でした。
Socket が閉じられました。
ソケットへのアクセスを試行しているときにエラーが発生しました。
注釈
このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Receive(IList<ArraySegment<Byte>>)スローされる例外に関するページを参照してください。
適用対象
ReceiveAsync(SocketAsyncEventArgs)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
接続されている Socket オブジェクトからデータを受信する非同期要求を開始します。
public:
bool ReceiveAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveAsync (e As SocketAsyncEventArgs) As Boolean
パラメーター
この非同期ソケット操作に使用する SocketAsyncEventArgs オブジェクト。
戻り値
I/O 操作が保留中の場合は true
。 操作の完了時に、e
パラメーターの Completed イベントが発生します。
I/O 操作が同期的に完了した場合は false
。 この場合、e
パラメーターの Completed イベントは発生しません。メソッド呼び出しから制御が戻った直後に、パラメーターとして渡された e
オブジェクトを調べて操作の結果を取得できます。
例外
引数が無効です。
e
パラメーターの Buffer プロパティまたは BufferList プロパティは、有効なバッファーを参照する必要があります。 これらのプロパティは、どちらか 1 つを設定できます。一度に両方のプロパティを設定することはできません。
e
パラメーターに指定された SocketAsyncEventArgs オブジェクトを使用してソケット操作が既に進行していました。
Socket が閉じられました。
ソケットへのアクセスを試行しているときにエラーが発生しました。
注釈
メソッドは ReceiveAsync 、接続されているソケットまたはバインドされたコネクションレス ソケットで使用され、受信データの読み取りに使用されます。 ソケットのローカル アドレスは既知である必要があります。
バインドされたコネクションレス ソケットの場合、この関数は、受信したメッセージが受け入れられるアドレスを制限します。 関数は、接続で指定されたリモート アドレスからのみメッセージを返します。 他のアドレスからのメッセージは自動的に破棄されます。
パラメーターの e
プロパティはSocketAsyncEventArgs.SocketFlags、Window Sockets サービス プロバイダーに読み取り要求に関する追加情報を提供します。 このパラメーターの使用方法の詳細については、「」を参照してください System.Net.Sockets.SocketFlags。
このメソッドを正常に呼び出すには、オブジェクトの System.Net.Sockets.SocketAsyncEventArgs 次のプロパティとイベントが必要です。
SocketAsyncEventArgs.Buffer または SocketAsyncEventArgs.BufferList
SocketAsyncEventArgs.Countが設定されている場合SocketAsyncEventArgs.Buffer
SocketAsyncEventArgs.Offsetが設定されている場合SocketAsyncEventArgs.Buffer
呼び出し元は、コールバック メソッドで情報を取得できるように、 メソッドをReceiveAsync呼び出す前に必要な任意のユーザー状態オブジェクトに プロパティを設定SocketAsyncEventArgs.UserTokenできます。 コールバックで 1 つのオブジェクトよりも多くの情報が必要な場合は、他の必須状態情報をメンバーとして保持する小さなクラスを作成できます。
バイト ストリーム スタイルのソケットの場合、バッファーがいっぱいになるまで、接続が閉じられるか、内部バッファーに格納されたデータが使い果たされるまで、受信データがバッファーに配置されます。
メッセージ指向ソケットの場合、 パラメーターに関連付けられているバッファーの合計サイズまで、受信メッセージがバッファーに e
配置されます。 メッセージがバッファーより大きい場合、バッファーにはメッセージの最初の部分が入力されます。
接続指向ソケットの場合、 メソッドは、 ReceiveAsync ソケットがバイト ストリームかメッセージ指向かに依存する 2 つの方法のいずれかで、仮想回線の正常な終了を示すことができます。 バイト ストリームの場合、読み取られた 0 バイトは正常なクローズを示し、それ以上のバイトは読み取られなくなります。 多くの場合、0 バイト のメッセージが許可されるメッセージ指向ソケットの場合は、 SocketExceptionSocketAsyncEventArgs.SocketError がネイティブ Winsock WSAEDISCON エラー コード (10101) に設定された が、正常な終了を示すために使用されます。 いずれの場合も、 SocketException が SocketAsyncEventArgs.SocketError ネイティブ Winsock WSAECONNRESET エラー コード (10054) に設定されている は、中止終了が発生したことを示します。
こちらもご覧ください
適用対象
ReceiveAsync(ArraySegment<Byte>, SocketFlags)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されたソケットからデータを受信します。
public:
System::Threading::Tasks::Task<int> ^ ReceiveAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> ReceiveAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags);
member this.ReceiveAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags) As Task(Of Integer)
パラメーター
- buffer
- ArraySegment<Byte>
受信したデータのバッファー。
- socketFlags
- SocketFlags
データの受信時に使用される SocketFlags 値のビットごとの組み合わせ。
戻り値
受信したバイト数で完了する非同期タスク。
例外
Socket が閉じられました。
ソケットへのアクセスを試行しているときにエラーが発生しました。
適用対象
ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されたソケットからデータを受信します。
public:
System::Threading::Tasks::Task<int> ^ ReceiveAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> ReceiveAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags);
member this.ReceiveAsync : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags) As Task(Of Integer)
パラメーター
- buffers
- IList<ArraySegment<Byte>>
受信したデータのバッファーの一覧。
- socketFlags
- SocketFlags
データの受信時に使用される SocketFlags 値のビットごとの組み合わせ。
戻り値
受信したバイト数で完了する非同期タスク。
例外
パラメーターが buffers
null でした。
Socket が閉じられました。
ソケットへのアクセスを試行しているときにエラーが発生しました。
注釈
このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Receive(IList<ArraySegment<Byte>>, SocketFlags)スローされる例外に関するページを参照してください。
適用対象
ReceiveAsync(Memory<Byte>, CancellationToken)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されたソケットからデータを受信します。
public System.Threading.Tasks.ValueTask<int> ReceiveAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
パラメーター
- cancellationToken
- CancellationToken
非同期操作を取り消すために使用できるキャンセル トークン。
戻り値
受信したバイト数で完了する非同期タスク。
例外
Socket が閉じられました。
ソケットへのアクセスを試行しているときにエラーが発生しました。
キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。
適用対象
ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
- ソース:
- Socket.Tasks.cs
接続されたソケットからデータを受信します。
public System.Threading.Tasks.ValueTask<int> ReceiveAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
パラメーター
- socketFlags
- SocketFlags
データの受信時に使用される SocketFlags 値のビットごとの組み合わせ。
- cancellationToken
- CancellationToken
非同期操作を取り消すために使用できるキャンセル トークン。
戻り値
受信したバイト数で完了する非同期タスク。
例外
Socket が閉じられました。
ソケットへのアクセスを試行しているときにエラーが発生しました。
キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。
適用対象
.NET