Socket.BeginReceive メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
接続されている Socket からの非同期のデータ受信を開始します。
オーバーロード
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
接続されている Socket からの非同期のデータ受信を開始します。 |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
接続されている Socket からの非同期のデータ受信を開始します。 |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
接続されている Socket からの非同期のデータ受信を開始します。 |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
接続されている Socket からの非同期のデータ受信を開始します。 |
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
接続されている Socket からの非同期のデータ受信を開始します。
public:
IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- offset
- Int32
受信データを格納する buffer
内の場所。
- size
- Int32
受信するバイト数。
- socketFlags
- SocketFlags
SocketFlags 値のビットごとの組み合わせ。
- errorCode
- SocketError
ソケット エラーを格納する SocketError オブジェクト。
- callback
- AsyncCallback
操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。
- state
- Object
受信操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。
戻り値
非同期の読み取りを参照する IAsyncResult。
例外
buffer
は null
です。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。
Socket が閉じられました。
offset
が 0 未満です。
または
offset
が buffer
の長さを超えています。
または
size
が 0 未満です。
- または -
size
が、buffer
の長さから offset
パラメーターの値を引いた値を超えています。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用してください。
を実装AsyncCallbackBeginReceiveするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginReceive中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginReceive 使用します。
非同期 BeginReceive 操作は、 メソッドを呼び出して完了する EndReceive 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndReceive は、操作が完了するまで呼び出し元のスレッドをブロックします。
保留中BeginReceiveの をSocketキャンセルするには、 を閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginReceive 提供されるコールバックが呼び出されます。 メソッドのEndReceive後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
注意
特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 操作が完了する前にスレッドが終了すると、保留中の非同期操作が失敗する可能性があります。
注意
state
は、ユーザー定義クラスのインスタンス化です。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。
こちらもご覧ください
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- コールバック メソッドとしてのデリゲートのマーシャ リング
- 非同期クライアント ソケットの例
- 非同期サーバー ソケットの例
適用対象
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
接続されている Socket からの非同期のデータ受信を開始します。
public:
IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- offset
- Int32
受信データを格納する、buffer
パラメーター内の、インデックス番号が 0 から始まる位置。
- size
- Int32
受信するバイト数。
- socketFlags
- SocketFlags
SocketFlags 値のビットごとの組み合わせ。
- callback
- AsyncCallback
操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。
- state
- Object
受信操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。
戻り値
非同期の読み取りを参照する IAsyncResult。
例外
buffer
は null
です。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。
Socket が閉じられました。
offset
が 0 未満です。
または
offset
が buffer
の長さを超えています。
または
size
が 0 未満です。
- または -
size
が、buffer
の長さから offset
パラメーターの値を引いた値を超えています。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用してください。
を実装AsyncCallbackBeginReceiveするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginReceive中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginReceive 使用します。
非同期 BeginReceive 操作は、 メソッドを呼び出して完了する EndReceive 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndReceive は、操作が完了するまで呼び出し元のスレッドをブロックします。
保留中BeginReceiveの をSocketキャンセルするには、 を閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginReceive 提供されるコールバックが呼び出されます。 メソッドのEndReceive後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
注意
特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 操作が完了する前にスレッドが終了すると、保留中の非同期操作が失敗する可能性があります。
注意
state
は、ユーザー定義クラスのインスタンス化です。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。
こちらもご覧ください
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- コールバック メソッドとしてのデリゲートのマーシャ リング
- 非同期クライアント ソケットの例
- 非同期サーバー ソケットの例
適用対象
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
接続されている Socket からの非同期のデータ受信を開始します。
public:
IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- buffers
- IList<ArraySegment<Byte>>
受信したデータの保存場所となる Byte 型の配列。
- socketFlags
- SocketFlags
SocketFlags 値のビットごとの組み合わせ。
- callback
- AsyncCallback
操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。
- state
- Object
受信操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。
戻り値
非同期の読み取りを参照する IAsyncResult。
例外
buffer
は null
です。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。
Socket が閉じられました。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用してください。
を実装AsyncCallbackBeginReceiveするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginReceive中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginReceive 使用します。
非同期 BeginReceive 操作は、 メソッドを呼び出して完了する EndReceive 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndReceive は、操作が完了するまで呼び出し元のスレッドをブロックします。
保留中BeginReceiveの をSocketキャンセルするには、 を閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginReceive 提供されるコールバックが呼び出されます。 メソッドのEndReceive後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
注意
特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 操作が完了する前にスレッドが終了すると、保留中の非同期操作が失敗する可能性があります。
注意
state
は、ユーザー定義クラスのインスタンス化です。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。
こちらもご覧ください
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- コールバック メソッドとしてのデリゲートのマーシャ リング
- 非同期クライアント ソケットの例
- 非同期サーバー ソケットの例
適用対象
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
接続されている Socket からの非同期のデータ受信を開始します。
public:
IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- buffers
- IList<ArraySegment<Byte>>
受信したデータの保存場所となる Byte 型の配列。
- socketFlags
- SocketFlags
SocketFlags 値のビットごとの組み合わせ。
- errorCode
- SocketError
ソケット エラーを格納する SocketError オブジェクト。
- callback
- AsyncCallback
操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。
- state
- Object
受信操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に EndReceive(IAsyncResult) デリゲートに渡されます。
戻り値
非同期の読み取りを参照する IAsyncResult。
例外
buffer
は null
です。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。
Socket が閉じられました。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用してください。
を実装AsyncCallbackBeginReceiveするコールバックを渡して、操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了すると、 への呼び出し BeginReceive中にコールバックがインラインで実行されることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginReceive 使用します。
非同期 BeginReceive 操作は、 メソッドを呼び出して完了する EndReceive 必要があります。 通常、 メソッドはデリゲートによって AsyncCallback 呼び出されます。 EndReceive は、操作が完了するまで呼び出し元のスレッドをブロックします。
保留中BeginReceiveの をSocketキャンセルするには、 を閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginReceive 提供されるコールバックが呼び出されます。 メソッドのEndReceive後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
注意
特定のスレッドによって開始されたすべての I/O は、そのスレッドが終了すると取り消されます。 操作が完了する前にスレッドが終了すると、保留中の非同期操作が失敗する可能性があります。
注意
state
は、ユーザー定義クラスのインスタンス化です。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。
こちらもご覧ください
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- コールバック メソッドとしてのデリゲートのマーシャ リング
- 非同期クライアント ソケットの例
- 非同期サーバー ソケットの例
適用対象
.NET