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

Socket.Disconnect メソッド

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

ソケット接続を閉じ、ソケットを再利用できるようにします。

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

Public Sub Disconnect ( _
    reuseSocket As Boolean _
)
Dim instance As Socket
Dim reuseSocket As Boolean

instance.Disconnect(reuseSocket)
public void Disconnect (
    bool reuseSocket
)
public:
void Disconnect (
    bool reuseSocket
)
public void Disconnect (
    boolean reuseSocket
)

パラメータ

reuseSocket

現在の接続の終了後、このソケットが再利用できる場合は true。それ以外の場合は false。

例外例外
解説解説

コネクション指向のプロトコルを使用している場合、このメソッドを使用してソケットを閉じることができます。このメソッドは、コネクションを終了し、Connected プロパティを false に設定します。ただし、reuseSocket が true の場合は、ソケットを再利用できます。

ソケットが閉じる前にすべてのデータが送受信されたことを確認するには、Disconnect メソッドの呼び出しの前に Shutdown を呼び出す必要があります。

最初に Shutdown を呼び出さずに Disconnect を呼び出す必要がある場合は、DontLingerSocket オプションを false に設定し、0 以外のタイムアウト間隔を指定して、発信伝送キューに置かれたデータが送信されたことを確認します。この場合、Disconnect は、データが送信されるか指定したタイムアウト時間が経過するまでブロックします。DontLinger を false に設定し、ゼロのタイムアウト間隔を指定すると、Close は接続を解放し、発信キューに置かれたデータは自動的に破棄されます。

メモメモ

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

使用例使用例

同期通信のソケットを作成し、リモート ホストにデータを送信するコード例を次に示します。Shutdown が呼び出されて送受信の動作が停止し、Disconnect が呼び出されてソケット接続が閉じれられます。

IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
IPAddress  ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);

Socket client = new Socket(AddressFamily.InterNetwork,
    SocketType.Stream, ProtocolType.Tcp);

// Connect the socket to the remote end point.
client.Connect(ipEndPoint);

// Send some data to the remote device.
string data = "This is a string of data
 <EOF>";
byte[] buffer = Encoding.ASCII.GetBytes(data);

int bytesTransferred =  client.Send(buffer);

// Write to the console the number of bytes transferred.
Console.WriteLine("{0} bytes were sent.\n", bytesTransferred);

// Release the socket.
client.Shutdown(SocketShutdown.Both);
          
client.Disconnect(true);
if (client.Connected) 
    Console.WriteLine("We're still connnected");
else 
    Console.WriteLine("We're disconnected");
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2026 GRAS Group, Inc.RSS