Socket.EndConnect メソッドとは? わかりやすく解説

Socket.EndConnect メソッド

保留中の非同期接続要求を終了します。

名前空間: System.Net.Sockets
アセンブリ: System (system.dll 内)
構文構文

Public Sub EndConnect ( _
    asyncResult As IAsyncResult _
)
Dim instance As Socket
Dim asyncResult As IAsyncResult

instance.EndConnect(asyncResult)
public void EndConnect (
    IAsyncResult asyncResult
)
public:
void EndConnect (
    IAsyncResult^ asyncResult
)
public void EndConnect (
    IAsyncResult asyncResult
)
public function EndConnect (
    asyncResult : IAsyncResult
)

パラメータ

asyncResult

この非同期操作の状態情報およびユーザー定義データを格納する IAsyncResult。

例外例外
例外の種類条件

ArgumentNullException

asyncResult が null 参照 (Visual Basic では Nothing) です。

ArgumentException

BeginConnect メソッドへの呼び出しで asyncResult が返されませんでした。

InvalidOperationException

EndConnect は、非同期接続のために以前に呼び出されています。

SocketException

ソケットへのアクセスを試みているときにエラーが発生しました。詳細については「解説」を参照してください。

ObjectDisposedException

Socket は閉じられています。

解説解説

EndConnect は、BeginConnect メソッドで開始されたリモート ホスト接続の非同期要求を完了するブロッキング メソッドです。

BeginConnect を呼び出す前に、AsyncCallback デリゲートを実装するコールバック メソッドを作成する必要があります。このコールバック メソッドは個別のスレッドで実行され、BeginConnect の終了時に呼び出されます。コールバック メソッドは、BeginConnect メソッドからパラメータとして返された IAsyncResult を受け取る必要があります。

コールバック メソッド内では、IAsyncResult パラメータの AsyncState メソッドを呼び出して、接続が試行された Socket を取得します。Socket を取得したら、EndConnect メソッドを呼び出して接続の試行を正常に完了できます。

メモメモ

SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。

使用例使用例

非同期接続の試行を終了するコード例を次に示します。ソケットを使用した非同期通信を示すコード例の全体については、「ソケットのコード例」を参照してください。

Public Shared Sub Connect_Callback(ar
 As IAsyncResult)
   

   allDone.Set()
   Dim s As Socket = CType(ar.AsyncState, Socket)
   s.EndConnect(ar)
   Dim so2 As New StateObject()
   so2.workSocket = s
   Dim buff As Byte() =
 Encoding.ASCII.GetBytes("This is a test")
   s.BeginSend(buff, 0, buff.Length, 0, New AsyncCallback(AddressOf
 Async_Send_Receive.Send_Callback), so2)
End Sub 'Connect_Callback

allDone.Set();
Socket s = (Socket) ar.AsyncState;
s.EndConnect(ar);
StateObject so2 = new StateObject();
so2.workSocket = s;
byte[] buff = Encoding.ASCII.GetBytes("This is a test");
s.BeginSend(buff, 0, buff.Length,0,
                      new AsyncCallback(Async_Send_Receive.Send_Callback),
 so2);    
allDone->Set();
Socket^ s = safe_cast<Socket^>(ar->AsyncState);
s->EndConnect( ar );
StateObject^ so2 = gcnew StateObject;
so2->workSocket = s;
array<Byte>^ buff = Encoding::ASCII->GetBytes( "This is a test"
 );
s->BeginSend( buff, 0, buff->Length, SocketFlags::None,
   gcnew AsyncCallback( &Async_Send_Receive::Send_Callback ), so2 );
allDone.Set();
Socket s = (Socket)ar.get_AsyncState();
s.EndConnect(ar);
StateObject so2 = new StateObject();
so2.workSocket = s;
ubyte buff[] = Encoding.get_ASCII().GetBytes("This is a test");
s.BeginSend(buff, 0, buff.length, (SocketFlags)0,
    new AsyncCallback(Async_Send_Receive.Send_Callback), so2);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Socket クラス
Socket メンバ
System.Net.Sockets 名前空間
BeginConnect
AsyncCallback
AsyncState



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「Socket.EndConnect メソッド」の関連用語

Socket.EndConnect メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Socket.EndConnect メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS