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

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Socket.EndDisconnect メソッドの意味・解説 

Socket.EndDisconnect メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

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

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

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

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

パラメータ

asyncResult

この非同期操作のステータス情報およびユーザー定義データを格納する IAsyncResult オブジェクト。

例外例外
例外の種類条件

NotSupportedException

Windows 2000 以前のオペレーティング システムです。このメソッドを使用するには、Windows XP が必要です。

ObjectDisposedException

Socket オブジェクトは閉じられています。

ArgumentNullException

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

ArgumentException

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

InvalidOperationException

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

SocketException

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

WebException

接続解除要求がタイムアウトしました。

解説解説
使用例使用例

非同期通信のソケットを作成し、リモート ホストにデータを送信するコード例を次に示します。データが送信されると、Shutdown が呼び出されて送受信の動作が停止します。次に、BeginDisconnect が呼び出されて接続解除要求を開始します。コールバック デリゲートは EndDisconnect を呼び出し、非同期要求を終了します。要求が完了すると、Connected プロパティが問い合わせを受けてソケットが接続解除されたかどうかがテストされます。

    // Establish the remote endpoint for the socket.
    // For this example use local computer.
    IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
    IPAddress ipAddress = ipHostInfo.AddressList[0];
    IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);

    // Create a TCP/IP socket.
    Socket client = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream, ProtocolType.Tcp);

    // Connect to the remote endpoint.
    client.BeginConnect(remoteEP, 
        new AsyncCallback(ConnectCallback), client);
        
    // Wait for connect.
    connectDone.WaitOne();

    // Send some data to the remote device.
    string data = "This is a string of
 data <EOF>";
    byte[] buffer = Encoding.ASCII.GetBytes(data);
    client.BeginSend(buffer, 0, buffer.Length, 0, new AsyncCallback(ClientSendCallback),
 client);
    // Wait for send done.
    sendDone.WaitOne();

    // Release the socket.
    client.Shutdown(SocketShutdown.Both);
    client.BeginDisconnect(true, new AsyncCallback(DisconnectCallback),
 client);

    // Wait for the disconnect to complete.
    disconnectDone.WaitOne();
    if (client.Connected)
        Console.WriteLine("We're still connected");
    else
        Console.WriteLine("We're disconnected");
}


private static void DisconnectCallback(IAsyncResult
 ar)
{ 
    // Complete the disconnect request.
    Socket client = (Socket) ar.AsyncState;
    client.EndDisconnect(ar);

    // Signal that the disconnect is complete.
    disconnectDone.Set();
}
     
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

Socket.EndDisconnect メソッドのお隣キーワード

   

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



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

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

©2026 GRAS Group, Inc.RSS