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

asyncResultnull 参照 (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();
}
     
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

   

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



Socket.EndDisconnect メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS