Socket.BeginConnect メソッド (String, Int32, AsyncCallback, Object)
アセンブリ: System (system.dll 内)

Public Function BeginConnect ( _ host As String, _ port As Integer, _ requestCallback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim host As String Dim port As Integer Dim requestCallback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginConnect(host, port, requestCallback, state)
public IAsyncResult BeginConnect ( string host, int port, AsyncCallback requestCallback, Object state )
public: IAsyncResult^ BeginConnect ( String^ host, int port, AsyncCallback^ requestCallback, Object^ state )
public IAsyncResult BeginConnect ( String host, int port, AsyncCallback requestCallback, Object state )
public function BeginConnect ( host : String, port : int, requestCallback : AsyncCallback, state : Object ) : IAsyncResult
戻り値
非同期接続を参照する IAsyncResult。


非同期の BeginConnect 操作は、EndConnect メソッドを呼び出して終了させる必要があります。通常、このメソッドは requestCallback デリゲートによって呼び出されます。
このメソッドは、操作が完了するまでブロックしません。操作が完了するまでブロックするには、Connect メソッド オーバーロードのいずれかを使用します。
非同期プログラミング モデルの使用法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |

public static ManualResetEvent allDone = new ManualResetEvent(false); // handles the completion of the prior asynchronous // connect call. the socket is passed via the objectState // paramater of BeginConnect(). public static void ConnectCallback1(IAsyncResult ar) { allDone.Set(); Socket s = (Socket) ar.AsyncState; s.EndConnect(ar); }
// Asynchronous connect using host name (resolved by the // BeginConnect call.) public static void BeginConnect3(string host, int port) { Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); allDone.Reset(); Console.WriteLine("Establishing Connection to {0}", host); s.BeginConnect(host, port, new AsyncCallback(ConnectCallback1), s); // wait here until the connect finishes. The callback // sets allDone. allDone.WaitOne(); Console.WriteLine("Connection established"); }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.BeginConnect メソッド (IPAddress, Int32, AsyncCallback, Object)
アセンブリ: System (system.dll 内)

Public Function BeginConnect ( _ address As IPAddress, _ port As Integer, _ requestCallback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim address As IPAddress Dim port As Integer Dim requestCallback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginConnect(address, port, requestCallback, state)
public IAsyncResult BeginConnect ( IPAddress address, int port, AsyncCallback requestCallback, Object state )
public: IAsyncResult^ BeginConnect ( IPAddress^ address, int port, AsyncCallback^ requestCallback, Object^ state )
public IAsyncResult BeginConnect ( IPAddress address, int port, AsyncCallback requestCallback, Object state )
public function BeginConnect ( address : IPAddress, port : int, requestCallback : AsyncCallback, state : Object ) : IAsyncResult
戻り値
非同期接続を参照する IAsyncResult。


非同期の BeginConnect 操作は、EndConnect メソッドを呼び出して終了させる必要があります。通常、このメソッドは requestCallback デリゲートによって呼び出されます。
このメソッドは、操作が完了するまでブロックしません。操作が完了するまでブロックするには、Connect のいずれかのメソッド オーバーロードか EndConnect を使用します。
非同期プログラミング モデルの使用法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |

public static ManualResetEvent allDone = new ManualResetEvent(false); // handles the completion of the prior asynchronous // connect call. the socket is passed via the objectState // paramater of BeginConnect(). public static void ConnectCallback1(IAsyncResult ar) { allDone.Set(); Socket s = (Socket) ar.AsyncState; s.EndConnect(ar); }
// Asynchronous connect using the host name, resolved via // IPAddress public static void BeginConnect1(string host, int port) { IPAddress[] IPs = Dns.GetHostAddresses(host); Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); allDone.Reset(); Console.WriteLine("Establishing Connection to {0}", host); s.BeginConnect(IPs[0], port, new AsyncCallback(ConnectCallback1), s); // wait here until the connect finishes. // The callback sets allDone. allDone.WaitOne(); Console.WriteLine("Connection established"); }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.BeginConnect メソッド (IPAddress[], Int32, AsyncCallback, Object)
アセンブリ: System (system.dll 内)

Public Function BeginConnect ( _ addresses As IPAddress(), _ port As Integer, _ requestCallback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim addresses As IPAddress() Dim port As Integer Dim requestCallback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginConnect(addresses, port, requestCallback, state)
public IAsyncResult BeginConnect ( IPAddress[] addresses, int port, AsyncCallback requestCallback, Object state )
public: IAsyncResult^ BeginConnect ( array<IPAddress^>^ addresses, int port, AsyncCallback^ requestCallback, Object^ state )
public IAsyncResult BeginConnect ( IPAddress[] addresses, int port, AsyncCallback requestCallback, Object state )
public function BeginConnect ( addresses : IPAddress[], port : int, requestCallback : AsyncCallback, state : Object ) : IAsyncResult
戻り値
非同期接続を参照する IAsyncResult。


非同期の BeginConnect 操作は、EndConnect メソッドを呼び出して終了させる必要があります。通常、このメソッドは requestCallback デリゲートによって呼び出されます。
このメソッドは、操作が完了するまでブロックしません。操作が完了するまでブロックするには、Connect メソッド オーバーロードのいずれかを使用します。
非同期プログラミング モデルの使用法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |

public static ManualResetEvent allDone = new ManualResetEvent(false); // handles the completion of the prior asynchronous // connect call. the socket is passed via the objectState // paramater of BeginConnect(). public static void ConnectCallback1(IAsyncResult ar) { allDone.Set(); Socket s = (Socket) ar.AsyncState; s.EndConnect(ar); }
// Asynchronous connect, using DNS.GetHostAddresses public static void BeginConnect2(string host, int port) { IPAddress[] IPs = Dns.GetHostAddresses(host); Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); allDone.Reset(); Console.WriteLine("Establishing Connection to {0}", host); s.BeginConnect(IPs, port, new AsyncCallback(ConnectCallback1), s); // wait here until the connect finishes. The callback // sets allDone. allDone.WaitOne(); Console.WriteLine("Connection established"); }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Socket.BeginConnect メソッド

名前 | 説明 |
---|---|
Socket.BeginConnect (EndPoint, AsyncCallback, Object) | リモート ホスト接続への非同期要求を開始します。 .NET Compact Framework によってサポートされています。 |
Socket.BeginConnect (IPAddress, Int32, AsyncCallback, Object) | リモート ホスト接続への非同期要求を開始します。ホストは、IPAddress とポート番号で指定されます。 |
Socket.BeginConnect (IPAddress[], Int32, AsyncCallback, Object) | リモート ホスト接続への非同期要求を開始します。ホストは、IPAddress 配列とポート番号で指定されます。 |
Socket.BeginConnect (String, Int32, AsyncCallback, Object) | リモート ホスト接続への非同期要求を開始します。ホストは、ホスト名とポート番号で指定されます。 |

Socket.BeginConnect メソッド (EndPoint, AsyncCallback, Object)
アセンブリ: System (system.dll 内)

Public Function BeginConnect ( _ remoteEP As EndPoint, _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim remoteEP As EndPoint Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginConnect(remoteEP, callback, state)
public function BeginConnect ( remoteEP : EndPoint, callback : AsyncCallback, state : Object ) : IAsyncResult
戻り値
非同期接続を参照する IAsyncResult。


コネクション指向のプロトコルを使用する場合、BeginConnect メソッドは、remoteEP パラメータへの接続に対する非同期要求を開始します。コネクションレスのプロトコルを使用している場合、BeginConnect は既定のリモート ホストを確立します。既定のリモート ホストに非同期的に接続したりこのホストを非同期的に設定したりすると、個別の実行スレッド内でデータを送受信できます。
AsyncCallback デリゲートを実装するコールバック メソッドを作成し、その名前を BeginConnect メソッドに渡すことができます。この場合、少なくとも state パラメータを使用して、Socket を BeginConnect に渡さなければなりません。またコールバックに他の情報が必要な場合は、小さなクラスを作成して Socket および必要な情報を保持させることができます。この場合、このクラスのインスタンスを、state パラメータを使用して BeginConnect メソッドに渡します。
コールバック メソッドは EndConnect メソッドを呼び出す必要があります。アプリケーションが BeginConnect を呼び出すと、指定したコールバック メソッドが個別のスレッドを使用して実行され、EndConnect は、Socket が正常に接続するか例外をスローするまでブロックします。BeginConnect メソッドを呼び出してから元のスレッドをブロックする場合は、WaitOne を使用します。元のスレッドの実行を継続させるには、コールバック メソッドの T:System.Threading.ManualResetEvent で Set メソッドを呼び出します。コールバック メソッドの記述に関する追加情報については、「Callback のサンプル」を参照してください。
UDP などのコネクションレスのプロトコルを使用している場合は、データを送受信する前に BeginConnect を呼び出す必要はありません。リモート ホストとの通信には、BeginSendTo および BeginReceiveFrom を使用できます。BeginConnect を呼び出した場合、指定した既定のアドレス以外から送信されたデータグラムはすべて破棄されます。既定のリモート ホストをブロード キャスト アドレスに設定するには、まず SetSocketOption を呼び出して Broadcast を true に設定する必要があります。このように設定できない場合、BeginConnect は SocketException をスローします。
コネクション指向のプロトコルを使用しており、BeginConnect の前に Bind を呼び出さない場合は、基になるサービス プロバイダが最も適切なローカル ネットワーク アドレスとポート番号を割り当てます。コネクションレスのプロトコルを使用している場合、BeginSend メソッドまたは ReceiveFrom メソッドを呼び出すまで、サービス プロバイダはローカル ネットワーク アドレスとポート番号を割り当てません。既定のリモート ホストを変更する必要がある場合は、必要なエンドポイントで BeginConnect メソッドを再度呼び出します。
![]() |
---|
SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |

Dim lipa As IPHostEntry = Dns.Resolve("host.contoso.com") Dim lep As New IPEndPoint(lipa.AddressList(0), 11000) Dim s As New Socket(lep.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp) Try While True allDone.Reset() Console.WriteLine("Establishing Connection") s.BeginConnect(lep, New AsyncCallback(AddressOf Async_Send_Receive.Connect_Callback), s) allDone.WaitOne() End While Catch e As Exception Console.WriteLine(e.ToString()) End Try End Sub 'Connect
IPHostEntry lipa = Dns.Resolve("host.contoso.com"); IPEndPoint lep = new IPEndPoint(lipa.AddressList[0], 11000); Socket s = new Socket(lep.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp); try{ while(true){ allDone.Reset(); Console.WriteLine("Establishing Connection"); s.BeginConnect(lep, new AsyncCallback(Async_Send_Receive.Connect_Callback), s); allDone.WaitOne(); } } catch (Exception e){ Console.WriteLine(e.ToString()); }
IPHostEntry^ lipa = Dns::Resolve( "host.contoso.com" ); IPEndPoint^ lep = gcnew IPEndPoint( lipa->AddressList[ 0 ], 11000 ); Socket^ s = gcnew Socket( lep->Address->AddressFamily, SocketType::Stream, ProtocolType::Tcp ); try { while ( true ) { allDone->Reset(); Console::WriteLine( "Establishing Connection" ); s->BeginConnect( lep, gcnew AsyncCallback( &Async_Send_Receive::Connect_Callback ), s ); allDone->WaitOne(); } } catch ( Exception^ e ) { Console::WriteLine( e ); }
IPHostEntry lipa = Dns.Resolve("host.contoso.com"); IPEndPoint lep = new IPEndPoint(lipa.get_AddressList()[0], 11000); Socket s = new Socket(lep.get_Address().get_AddressFamily(), SocketType.Stream, ProtocolType.Tcp); try { while (true) { allDone.Reset(); Console.WriteLine("Establishing Connection"); s.BeginConnect(lep, new AsyncCallback(Async_Send_Receive.Connect_Callback), s); allDone.WaitOne(); } } catch (System.Exception e) { Console.WriteLine(e.ToString()); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSocket.BeginConnectを検索する場合は、下記のリンクをクリックしてください。

- Socket.BeginConnectのページへのリンク