Socket.EndReceive メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
保留中の非同期読み取りを終了します。
オーバーロード
| 名前 | 説明 |
|---|---|
| EndReceive(IAsyncResult) |
保留中の非同期読み取りを終了します。 |
| EndReceive(IAsyncResult, SocketError) |
保留中の非同期読み取りを終了します。 |
EndReceive(IAsyncResult)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
保留中の非同期読み取りを終了します。
public:
int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive(IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) As Integer
パラメーター
- asyncResult
- IAsyncResult
状態情報と、この非同期操作のユーザー定義データを格納する IAsyncResult 。
返品
受信した合計バイト数。 このメソッドは、0 バイトが要求された場合、またはピア ソケットが正常なシャットダウンを実行したために使用可能なバイトがなくなった場合にのみ、ゼロ (0) を返します。 0 バイトが要求された場合、受信操作はすぐに完了するか、少なくとも 1 バイトが使用可能になるまで完了しない場合があります (ただし、データは使用しません)。
例外
asyncResult は nullです。
asyncResult は、 BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) メソッドの呼び出しによって返されませんでした。
EndReceive(IAsyncResult) は、以前に非同期読み取り用に呼び出されました。
.NET Framework、.NET Core、および .NET 5-6 のみ: Socket が閉じられました。
注釈
Important
これは互換性 API です。 新しい開発には APM (Begin* および End*) メソッドを使用しないことをお勧めします。 代わりに、 Task ベースの同等の値を使用します。
EndReceive は、 BeginReceiveによって開始された操作を完了します。 一致するBeginReceive呼び出しによって作成されたIAsyncResultを渡す必要があります。
EndReceive メソッドは、データが使用可能になるまでブロックされます。 コネクションレス プロトコルを使用している場合、 EndReceive は受信ネットワーク バッファーで使用可能な最初のエンキューされたデータグラムを読み取ります。 接続指向プロトコルを使用している場合、EndReceive メソッドは、BeginReceive メソッドの size パラメーターで指定したバイト数までのデータを読み取ります。 リモート ホストが Shutdown メソッドとのSocket接続をシャットダウンし、使用可能なすべてのデータを受信した場合、EndReceive メソッドはすぐに完了し、0 バイトが返されます。
注
SocketExceptionを受け取った場合は、SocketException.ErrorCode プロパティを使用して特定のエラー コードを取得します。
注
特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 保留中の非同期操作は、操作が完了する前にスレッドが終了した場合に失敗する可能性があります。
注
このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「 .NET Framework でのネットワーク トレース」を参照してください。
こちらもご覧ください
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
適用対象
EndReceive(IAsyncResult, SocketError)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
保留中の非同期読み取りを終了します。
public:
int EndReceive(IAsyncResult ^ asyncResult, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int EndReceive(IAsyncResult asyncResult, out System.Net.Sockets.SocketError errorCode);
member this.EndReceive : IAsyncResult * SocketError -> int
Public Function EndReceive (asyncResult As IAsyncResult, ByRef errorCode As SocketError) As Integer
パラメーター
- asyncResult
- IAsyncResult
状態情報と、この非同期操作のユーザー定義データを格納する IAsyncResult 。
- errorCode
- SocketError
ソケット エラーを格納する SocketError オブジェクト。
返品
受信した合計バイト数。 このメソッドは、0 バイトが要求された場合、またはピア ソケットが正常なシャットダウンを実行したために使用可能なバイトがなくなった場合にのみ、ゼロ (0) を返します。 0 バイトが要求された場合、受信操作はすぐに完了するか、少なくとも 1 バイトが使用可能になるまで完了しない場合があります (ただし、データは使用しません)。
例外
asyncResult は nullです。
asyncResult は、 BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) メソッドの呼び出しによって返されませんでした。
EndReceive(IAsyncResult) は、以前に非同期読み取り用に呼び出されました。
.NET Framework、.NET Core、および .NET 5-6 のみ: Socket が閉じられました。
注釈
Important
これは互換性 API です。 新しい開発には APM (Begin* および End*) メソッドを使用しないことをお勧めします。 代わりに、 Task ベースの同等の値を使用します。
EndReceive は、 BeginReceiveによって開始された操作を完了します。 一致するBeginReceive呼び出しによって作成されたIAsyncResultを渡す必要があります。
EndReceive メソッドは、データが使用可能になるまでブロックされます。 コネクションレス プロトコルを使用している場合、 EndReceive は受信ネットワーク バッファーで使用可能な最初のエンキューされたデータグラムを読み取ります。 接続指向プロトコルを使用している場合、EndReceive メソッドは、BeginReceive メソッドの size パラメーターで指定したバイト数までのデータを読み取ります。 リモート ホストが Shutdown メソッドとのSocket接続をシャットダウンし、使用可能なすべてのデータを受信した場合、EndReceive メソッドはすぐに完了し、0 バイトが返されます。
注
SocketExceptionを受け取った場合は、SocketException.ErrorCode プロパティを使用して特定のエラー コードを取得します。
注
特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 保留中の非同期操作は、操作が完了する前にスレッドが終了した場合に失敗する可能性があります。
注
このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「 .NET Framework でのネットワーク トレース」を参照してください。
こちらもご覧ください
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)