socket_shutdown
socket_shutdown — 受信、送信、または送受信用のソケットをシャットダウンする
説明
bool socket_shutdown ( resource socket [, int how] )socket_shutdown() 関数は、socket から送られてくる受信、送信あるいはすべて(デフォルト)のデータを停止します。
how の値は以下のうちのひとつです。 表 290. how のとりうる値
0 | ソケットの読み込みを停止します。 |
1 | ソケットの書き込みを停止します。 |
2 | ソケットの読み込み・書き込みを停止します。 |
Socket.Shutdown メソッド
アセンブリ: System (system.dll 内)



コネクション指向の Socket を使用している場合は、Socket を閉じる前に必ず Shutdown メソッドを呼び出します。これにより、閉じる前の接続ソケットですべてのデータが送受信されるようになります。
Close メソッドを呼び出して、Socket に関連付けられたすべてのマネージ リソースとアンマネージ リソースを解放します。閉じた後は Socket の再利用はできません。
how パラメータに有効な SocketShutdown 列挙値を次の表に示します。
how を Send に設定すると、後続の Send への呼び出しの禁止が指定されます。コネクションレスの Socket を使用している場合は、Send を指定しても無効です。
how を Receive に設定すると、後続の Receive への呼び出しの禁止が指定されます。下位のプロトコル層には影響を与えません。コネクション指向のプロトコルを使用している場合は、Shutdown を呼び出した後に次の条件のいずれかが存在すると、接続が終了します。
コネクションレスのプロトコルを使用している場合、データグラムは受け入れられ、キューに置かれます。ただし、追加の受信データグラム用のバッファ領域がない場合は、そのデータグラムは破棄されます。このとき送信者側にはエラーが返されません。コネクションレスの Socket で Shutdown を使用することはお勧めできません。
how を Both に設定すると、上記のように送信および受信の両方が無効になります。
![]() |
---|
Shutdown メソッドを呼び出したときに SocketException が発生した場合は、SocketException.ErrorCode プロパティを使用して具体的なエラー コードを取得してください。このコードを取得したら、Windows Socket Version 2 API エラー コードのドキュメントでエラーの詳細情報を確認してください。これは MSDN ライブラリから入手できます。 |


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SocketShutdown 列挙体
アセンブリ: System (system.dll 内)

Public Enumeration SocketShutdown

メンバ名 | 説明 | |
---|---|---|
![]() | Both | 送信と受信の両方の Socket を無効にします。このフィールドは定数です。 |
![]() | Receive | 受信の Socket を無効にします。このフィールドは定数です。 |
![]() | Send | 送信の Socket を無効にします。このフィールドは定数です。 |


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- socket_shutdownのページへのリンク