Socket.BeginAccept メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
受信接続の試行を受け入れる非同期操作を開始します。
オーバーロード
BeginAccept(AsyncCallback, Object) |
受信接続の試行を受け入れる非同期操作を開始します。 |
BeginAccept(Int32, AsyncCallback, Object) |
受信接続の試行を受け入れる非同期操作を開始し、クライアント アプリケーションによって送信されるデータの最初のブロックを受信します。 |
BeginAccept(Socket, Int32, AsyncCallback, Object) |
指定したソケットから受信接続の試行を受け入れる非同期操作を開始し、クライアント アプリケーションによって送信されるデータの最初のブロックを受信します。 |
BeginAccept(AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
受信接続の試行を受け入れる非同期操作を開始します。
public:
IAsyncResult ^ BeginAccept(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (AsyncCallback callback, object state);
member this.BeginAccept : AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- callback
- AsyncCallback
AsyncCallback デリゲート。
- state
- Object
この要求の状態情報を格納するオブジェクト。
戻り値
非同期の Socket 作成を参照する IAsyncResult。
例外
Socket オブジェクトは閉じられています。
受け入れ元のソケットが、接続をリッスンしていません。 BeginAccept(AsyncCallback, Object) の前に Bind(EndPoint) および Listen(Int32) を呼び出す必要があります。
- または -
受け入れられたソケットがバインドされています。
receiveSize
が 0 未満です。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用してください。
接続指向プロトコルでは、 メソッドを BeginAccept 使用して、着信接続の試行の受け入れを開始できます。 メソッドを呼び出す前に BeginAccept 、 メソッドを Listen 呼び出して受信接続要求をリッスンし、キューに入る必要があります。
受け入れ操作の完了に関する通知を受け取るために、 を実装AsyncCallbackBeginAcceptするコールバックを渡すことができます。 基になるネットワーク スタックが同期的に操作を完了した場合、 への BeginAccept呼び出し中にコールバックがインラインで実行される可能性があることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginAccept 使用します。
メソッドを BeginAccept 呼び出して操作を完了する EndAccept 必要があります。 通常、 メソッドは、指定 AsyncCallback されたデリゲートによって呼び出されます。 EndAccept は、操作が完了するまで呼び出し元のスレッドをブロックします。
メソッドの保留中の呼び出しを BeginAccept 取り消すには、 を Socket閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginAccept 提供されるコールバックが呼び出されます。 メソッドのEndAccept後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。
注意
返された Socket の プロパティをRemoteEndPoint使用して、リモート ホストのネットワーク アドレスとポート番号を識別できます。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。
こちらもご覧ください
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- 非同期クライアント ソケットの例
- 非同期サーバー ソケットの例
適用対象
BeginAccept(Int32, AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
受信接続の試行を受け入れる非同期操作を開始し、クライアント アプリケーションによって送信されるデータの最初のブロックを受信します。
public:
IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- receiveSize
- Int32
送信元から受け入れるバイト数。
- callback
- AsyncCallback
AsyncCallback デリゲート。
- state
- Object
この要求の状態情報を格納するオブジェクト。
戻り値
非同期の Socket 作成を参照する IAsyncResult。
例外
Socket オブジェクトは閉じられています。
受け入れ元のソケットが、接続をリッスンしていません。 BeginAccept(AsyncCallback, Object) の前に Bind(EndPoint) および Listen(Int32) を呼び出す必要があります。
- または -
受け入れられたソケットがバインドされています。
receiveSize
が 0 未満です。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用してください。
接続指向プロトコルでは、 メソッドを BeginAccept 使用して、着信接続の試行の受け入れを開始できます。 メソッドを呼び出す前に BeginAccept 、 メソッドを Listen 呼び出して受信接続要求をリッスンし、キューに入る必要があります。
受け入れ操作の完了に関する通知を受け取るために、 を実装AsyncCallbackBeginAcceptするコールバックを渡すことができます。 基になるネットワーク スタックが同期的に操作を完了した場合、 への BeginAccept呼び出し中にコールバックがインラインで実行される可能性があることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginAccept 使用します。
メソッドを BeginAccept 呼び出して操作を完了する EndAccept 必要があります。 通常、 メソッドは、指定 AsyncCallback されたデリゲートによって呼び出されます。 EndAccept は、操作が完了するまで呼び出し元のスレッドをブロックします。
メソッドの保留中の呼び出しを BeginAccept 取り消すには、 を Socket閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginAccept 提供されるコールバックが呼び出されます。 メソッドのEndAccept後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。
注意
返された Socket の プロパティをRemoteEndPoint使用して、リモート ホストのネットワーク アドレスとポート番号を識別できます。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。
こちらもご覧ください
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- 非同期クライアント ソケットの例
- 非同期サーバー ソケットの例
適用対象
BeginAccept(Socket, Int32, AsyncCallback, Object)
- ソース:
- Socket.cs
- ソース:
- Socket.cs
- ソース:
- Socket.cs
指定したソケットから受信接続の試行を受け入れる非同期操作を開始し、クライアント アプリケーションによって送信されるデータの最初のブロックを受信します。
public:
IAsyncResult ^ BeginAccept(System::Net::Sockets::Socket ^ acceptSocket, int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket? acceptSocket, int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket acceptSocket, int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : System.Net.Sockets.Socket * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (acceptSocket As Socket, receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
パラメーター
- receiveSize
- Int32
受信する最大バイト数。
- callback
- AsyncCallback
AsyncCallback デリゲート。
- state
- Object
この要求の状態情報を格納するオブジェクト。
戻り値
非同期の Socket オブジェクトの作成を参照する IAsyncResult オブジェクト。
例外
Socket オブジェクトは閉じられています。
受け入れ元のソケットが、接続をリッスンしていません。 BeginAccept(AsyncCallback, Object) の前に Bind(EndPoint) および Listen(Int32) を呼び出す必要があります。
- または -
受け入れられたソケットがバインドされています。
receiveSize
が 0 未満です。
.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。
注釈
重要
これは互換性 API です。 新しい開発に APM (Begin*
および End*
) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task
同等のものを使用します。
接続指向プロトコルでは、 メソッドを BeginAccept 使用して、受信接続の試行の受け入れ開始を開始できます。 結果として得られる受け入れ操作は、同期的に完了する可能性がある場合でも、返された IAsyncResult によって表されます。 メソッドを呼び出す前に BeginAccept 、 メソッドを Listen 呼び出して受信接続要求をリッスンし、キューに登録する必要があります。
受け入れ操作の完了に関する通知を受け取るために、 を実装AsyncCallbackBeginAcceptするコールバックを渡すことができます。 基になるネットワーク スタックが同期的に操作を完了すると、 の呼び出し BeginAccept中にコールバックがインラインで実行される可能性があることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true
設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResult を BeginAccept 使用します。
メソッドを BeginAccept 呼び出して操作を完了する EndAccept 必要があります。 通常、 メソッドは、指定された AsyncCallback デリゲートによって呼び出されます。 EndAccept は、操作が完了するまで呼び出し元のスレッドをブロックします。
メソッドの保留中の呼び出しを BeginAccept 取り消すには、 を Socket閉じます。 非同期操作の Close 実行中に メソッドが呼び出されると、 メソッドに BeginAccept 提供されるコールバックが呼び出されます。 メソッドの後続のEndAccept呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) をスロー ObjectDisposedException して、操作が取り消されたことを示します。
注意
返された Socket の プロパティをRemoteEndPoint使用して、リモート ホストのネットワーク アドレスとポート番号を識別できます。
注意
を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
注意
実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定 Socket のインスタンス、および特定のコールバック) を最初に使用した後、そのコンテキストを後続で使用すると、パフォーマンスが向上します。
こちらもご覧ください
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- 非同期クライアント ソケットの例
- 非同期サーバー ソケットの例
適用対象
.NET