Socket.BeginConnect メソッド

定義

リモート ホスト接続への非同期要求を開始します。

オーバーロード

BeginConnect(EndPoint, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。 ホストは IPAddress とポート番号で指定されます。

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。 ホストは、IPAddress 配列とポート番号で指定されます。

BeginConnect(String, Int32, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。 ホストはホスト名とポート番号で指定されます。

BeginConnect(EndPoint, AsyncCallback, Object)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

リモート ホスト接続への非同期要求を開始します。

public:
 IAsyncResult ^ BeginConnect(System::Net::EndPoint ^ remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginConnect : System.Net.EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

remoteEP
EndPoint

リモート ホストを表す EndPoint

callback
AsyncCallback

AsyncCallback デリゲート。

state
Object

この要求の状態情報を格納するオブジェクト。

戻り値

非同期接続を参照する IAsyncResult

例外

remoteEPnull です。

.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。

Socket が閉じられました。

呼び出し履歴の上位にある呼び出し元には、要求された操作に対するアクセス許可がありません。

SocketListen(Int32) を呼び出すことでリッスン状態になっているか、非同期操作は既に実行されています。

注釈

重要

これは互換性 API です。 新しい開発に APM (Begin* および End*) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task同等のものを使用してください。

接続指向プロトコルでは、 メソッドを BeginAccept 使用して、着信接続の試行の受け入れを開始できます。 結果として得られる受け入れ操作は、同期的に完了する可能性がある場合でも、返された IAsyncResult によって表されます。 メソッドを呼び出す前に BeginAccept 、 メソッドを Listen 呼び出して受信接続要求をリッスンし、キューに入る必要があります。

受け入れ操作の完了に関する通知を受け取るために、 を実装AsyncCallbackBeginAcceptするコールバックを渡すことができます。 基になるネットワーク スタックが同期的に操作を完了した場合、 への BeginAccept呼び出し中にコールバックがインラインで実行される可能性があることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true 設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginAccept 使用します。

メソッドを 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 のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。

こちらもご覧ください

適用対象

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

リモート ホスト接続への非同期要求を開始します。 ホストは IPAddress とポート番号で指定されます。

public:
 IAsyncResult ^ BeginConnect(System::Net::IPAddress ^ address, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (address As IPAddress, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

address
IPAddress

リモート ホストの IPAddress

port
Int32

リモート ホストのポート番号。

requestCallback
AsyncCallback

接続操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

state
Object

接続操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に requestCallback デリゲートに渡されます。

戻り値

非同期接続を参照する IAsyncResult

例外

addressnull です。

.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。

Socket が閉じられました。

Socket はソケット ファミリに含まれません。

ポート番号が無効です。

address の長さが 0 です。

SocketListen(Int32) を呼び出すことでリッスン状態になっているか、非同期操作は既に実行されています。

注釈

重要

これは互換性 API です。 新しい開発に APM (Begin* および End*) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task同等のものを使用してください。

接続指向プロトコルを使用している場合、 BeginConnect メソッドは、 パラメーターで指定された endpoit への接続に対する非同期要求を remoteEP 開始します。 コネクションレス プロトコルを使用している場合は、 BeginConnect 既定のリモート ホストを確立します。

を実装AsyncCallbackBeginConnectするコールバックを渡して、接続操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了した場合、 への BeginConnect呼び出し中にコールバックがインラインで実行される可能性があることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true 設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginConnect 使用します。

メソッドを BeginConnect 呼び出して操作を完了する EndConnect 必要があります。 通常、 メソッドは、指定 AsyncCallback されたデリゲートによって呼び出されます。 EndConnect は、操作が完了するまで呼び出し元のスレッドをブロックします。

UDP などのコネクションレス プロトコルを使用している場合は、データの送受信前に を呼び出 BeginConnect す必要はありません。 と BeginReceiveFrom を使用BeginSendToして、リモート ホストと通信できます。 を呼び出 BeginConnectすと、指定された既定値以外のアドレスから到着したデータグラムは破棄されます。 既定のリモート ホストをブロードキャスト アドレスに設定する場合は、最初に を呼び出 SetSocketOption し、Broadcast を に設定する true必要があります。 できない場合は、 BeginConnect がスロー SocketExceptionされます。

接続指向プロトコルを使用していて、 を呼び出す前に を呼び出BindBeginConnectさない場合、基になるサービス プロバイダーは、最も適切なローカル ネットワーク アドレスとポート番号を割り当てます。 コネクションレス プロトコルを使用している場合、 メソッドまたは ReceiveFrom メソッドを呼び出すまで、サービス プロバイダーはローカル ネットワーク アドレスとポート番号をBeginSend割り当てません。 既定のリモート ホストを変更する場合は、目的のエンドポイントで メソッドをもう BeginConnect 一度呼び出します。

メソッドの保留中の呼び出しを BeginConnect 取り消すには、 を Socket閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginConnect 提供されるコールバックが呼び出されます。 メソッドのEndConnect後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。

注意

を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。

注意

このソケットが以前に切断されている場合は、 BeginConnect 操作が完了するまで終了しないスレッドで を呼び出す必要があります。 これは、基になるプロバイダーの制限です。

Note

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。

注意

実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。

こちらもご覧ください

適用対象

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

リモート ホスト接続への非同期要求を開始します。 ホストは、IPAddress 配列とポート番号で指定されます。

public:
 IAsyncResult ^ BeginConnect(cli::array <System::Net::IPAddress ^> ^ addresses, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress[] * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (addresses As IPAddress(), port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

addresses
IPAddress[]

リモート ホストを指定する、少なくとも 1 つの IPAddress

port
Int32

リモート ホストのポート番号。

requestCallback
AsyncCallback

接続操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

state
Object

接続操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に requestCallback デリゲートに渡されます。

戻り値

非同期接続を参照する IAsyncResult

例外

addressesnull です。

.NET Framework および .NET 5 以前のみ: ソケットにアクセスしようとしたときにエラーが発生しました。

Socket が閉じられました。

このメソッドは InterNetwork または InterNetworkV6 を使用するソケットで有効です。

ポート番号が無効です。

address の長さが 0 です。

SocketListen(Int32) を呼び出すことでリッスン状態になっているか、非同期操作は既に実行されています。

注釈

重要

これは互換性 API です。 新しい開発に APM (Begin* および End*) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task同等のものを使用してください。

接続指向プロトコルを使用している場合、 BeginConnect メソッドは、 パラメーターで指定された endpoit への接続に対する非同期要求を remoteEP 開始します。 コネクションレス プロトコルを使用している場合は、 BeginConnect 既定のリモート ホストを確立します。

を実装AsyncCallbackBeginConnectするコールバックを渡して、接続操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了した場合、 への BeginConnect呼び出し中にコールバックがインラインで実行される可能性があることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true 設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginConnect 使用します。

メソッドを BeginConnect 呼び出して操作を完了する EndConnect 必要があります。 通常、 メソッドは、指定 AsyncCallback されたデリゲートによって呼び出されます。 EndConnect は、操作が完了するまで呼び出し元のスレッドをブロックします。

UDP などのコネクションレス プロトコルを使用している場合は、データの送受信前に を呼び出 BeginConnect す必要はありません。 と BeginReceiveFrom を使用BeginSendToして、リモート ホストと通信できます。 を呼び出 BeginConnectすと、指定された既定値以外のアドレスから到着したデータグラムは破棄されます。 既定のリモート ホストをブロードキャスト アドレスに設定する場合は、最初に を呼び出 SetSocketOption し、Broadcast を に設定する true必要があります。 できない場合は、 BeginConnect がスロー SocketExceptionされます。

接続指向プロトコルを使用していて、 を呼び出す前に を呼び出BindBeginConnectさない場合、基になるサービス プロバイダーは、最も適切なローカル ネットワーク アドレスとポート番号を割り当てます。 コネクションレス プロトコルを使用している場合、 メソッドまたは ReceiveFrom メソッドを呼び出すまで、サービス プロバイダーはローカル ネットワーク アドレスとポート番号をBeginSend割り当てません。 既定のリモート ホストを変更する場合は、目的のエンドポイントで メソッドをもう BeginConnect 一度呼び出します。

メソッドの保留中の呼び出しを BeginConnect 取り消すには、 を Socket閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginConnect 提供されるコールバックが呼び出されます。 メソッドのEndConnect後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。

注意

を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。

注意

このソケットが以前に切断されている場合は、 BeginConnect 操作が完了するまで終了しないスレッドで を呼び出す必要があります。 これは、基になるプロバイダーの制限です。

Note

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。

注意

実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定のインスタンス、および特定 Socket のコールバック) を最初に使用すると、そのコンテキストの後続の使用によってパフォーマンスが向上します。

こちらもご覧ください

適用対象

BeginConnect(String, Int32, AsyncCallback, Object)

ソース:
Socket.cs
ソース:
Socket.cs
ソース:
Socket.cs

リモート ホスト接続への非同期要求を開始します。 ホストはホスト名とポート番号で指定されます。

public:
 IAsyncResult ^ BeginConnect(System::String ^ host, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : string * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (host As String, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult

パラメーター

host
String

リモート ホストの名前。

port
Int32

リモート ホストのポート番号。

requestCallback
AsyncCallback

接続操作の完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。

state
Object

接続操作に関する情報を格納するユーザー定義のオブジェクト。 このオブジェクトは、操作の完了時に requestCallback デリゲートに渡されます。

戻り値

非同期接続を参照する IAsyncResult

例外

hostnullです。

Socket が閉じられました。

このメソッドは InterNetwork または InterNetworkV6 ファミリ内のソケットに対して正しいものです。

ポート番号が無効です。

SocketListen(Int32) を呼び出すことでリッスン状態になっているか、非同期操作は既に実行されています。

注釈

重要

これは互換性 API です。 新しい開発に APM (Begin* および End*) メソッドを使用することはお勧めしません。 代わりに、 ベースの Task同等のものを使用してください。

接続指向プロトコルを使用している場合、 BeginConnect メソッドは、 パラメーターで指定された endpoit への接続に対する非同期要求を remoteEP 開始します。 コネクションレス プロトコルを使用している場合は、 BeginConnect 既定のリモート ホストを確立します。

を実装AsyncCallbackBeginConnectするコールバックを渡して、接続操作の完了に関する通知を受け取ることができます。 基になるネットワーク スタックが同期的に操作を完了した場合、 への BeginConnect呼び出し中にコールバックがインラインで実行される可能性があることに注意してください。 この場合、 CompletedSynchronously 返される IAsyncResult の プロパティは に true 設定され、メソッドが同期的に完了したことを示します。 メソッドに AsyncState 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginConnect 使用します。

メソッドを BeginConnect 呼び出して操作を完了する EndConnect 必要があります。 通常、 メソッドは、指定 AsyncCallback されたデリゲートによって呼び出されます。 EndConnect は、操作が完了するまで呼び出し元のスレッドをブロックします。

UDP などのコネクションレス プロトコルを使用している場合は、データの送受信前に を呼び出 BeginConnect す必要はありません。 と BeginReceiveFrom を使用BeginSendToして、リモート ホストと通信できます。 を呼び出 BeginConnectすと、指定された既定値以外のアドレスから到着したデータグラムは破棄されます。 既定のリモート ホストをブロードキャスト アドレスに設定する場合は、最初に を呼び出 SetSocketOption し、Broadcast を に設定する true必要があります。 できない場合は、 BeginConnect がスロー SocketExceptionされます。

接続指向プロトコルを使用していて、 を呼び出す前に を呼び出BindBeginConnectさない場合、基になるサービス プロバイダーは、最も適切なローカル ネットワーク アドレスとポート番号を割り当てます。 コネクションレス プロトコルを使用している場合、 メソッドまたは ReceiveFrom メソッドを呼び出すまで、サービス プロバイダーはローカル ネットワーク アドレスとポート番号をBeginSend割り当てません。 既定のリモート ホストを変更する場合は、目的のエンドポイントで メソッドをもう BeginConnect 一度呼び出します。

メソッドの保留中の呼び出しを BeginConnect 取り消すには、 を Socket閉じます。 非同期操作の Close 進行中に メソッドが呼び出されると、 メソッドに BeginConnect 提供されるコールバックが呼び出されます。 メソッドのEndConnect後続の呼び出しでは、 (.NET 7 より前) または SocketException (.NET 7 以降では) がスロー ObjectDisposedException され、操作が取り消されたことを示します。

注意

を受け取った場合は SocketException、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。

注意

このソケットが以前に切断されている場合は、 BeginConnect 操作が完了するまで終了しないスレッドで を呼び出す必要があります。 これは、基になるプロバイダーの制限です。

Note

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。

注意

実行コンテキスト (セキュリティ コンテキスト、偽装されたユーザー、および呼び出し元のコンテキスト) は、非同期 Socket メソッド用にキャッシュされます。 特定のコンテキスト (特定の非同期 Socket メソッド、特定 Socket のインスタンス、および特定のコールバック) を最初に使用した後、そのコンテキストを後続で使用すると、パフォーマンスが向上します。

こちらもご覧ください

適用対象