Socket.BeginDisconnect メソッド
アセンブリ: System (system.dll 内)

Public Function BeginDisconnect ( _ reuseSocket As Boolean, _ callback As AsyncCallback, _ state As Object _ ) As IAsyncResult
Dim instance As Socket Dim reuseSocket As Boolean Dim callback As AsyncCallback Dim state As Object Dim returnValue As IAsyncResult returnValue = instance.BeginDisconnect(reuseSocket, callback, state)
public function BeginDisconnect ( reuseSocket : boolean, callback : AsyncCallback, state : Object ) : IAsyncResult
戻り値
非同期操作を参照する IAsyncResult オブジェクト。


コネクション指向のプロトコルを使用している場合、BeginDisconnect メソッドを呼び出してリモート エンドポイントからの接続解除を要求できます。reuseSocket が true の場合、ソケットを再利用できます。
BeginDisconnect メソッドは、個別のスレッドを使用して指定したコールバック メソッドを呼び出します。EndDisconnect メソッドは、保留中の接続解除が完了するまでブロックします。コールバック メソッドの記述に関する追加情報については、「Callback のサンプル」を参照してください。
![]() |
---|
SocketException 例外が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |

非同期通信のソケットを作成し、リモート ホストにデータを送信するコード例を次に示します。データが送信されると、Shutdown が呼び出されて送受信の動作が停止します。次に、BeginDisconnect が呼び出されて接続解除要求を開始します。要求が完了すると、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(); }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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

- Socket.BeginDisconnect メソッドのページへのリンク