socket_shutdownとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > socket_shutdownの意味・解説 

socket_shutdown

(PHP 4 >= 4.0.7, PHP 5)
socket_shutdown — 受信、送信、または送受信用のソケットをシャットダウンする

説明

bool socket_shutdown ( resource socket [, int how] )
socket_shutdown() 関数は、socket から送られてくる受信、送信あるいはすべて(デフォルト)のデータを停止します。
how の値は以下のうちのひとつです。 表 290. how のとりうる値
0 ソケットの読み込みを停止します。
1 ソケットの書き込みを停止します。
2 ソケットの読み込み・書き込みを停止します。



Socket.Shutdown メソッド

Socket での送受信を無効にします。

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

Public Sub Shutdown ( _
    how As SocketShutdown _
)
Dim instance As Socket
Dim how As SocketShutdown

instance.Shutdown(how)
public void Shutdown (
    SocketShutdown how
)
public:
void Shutdown (
    SocketShutdown how
)
public void Shutdown (
    SocketShutdown how
)
public function Shutdown (
    how : SocketShutdown
)

パラメータ

how

許可されなくなる操作を指定する SocketShutdown 値の 1 つ。

例外例外
解説解説

コネクション指向の Socket を使用している場合は、Socket を閉じる前に必ず Shutdown メソッドを呼び出します。これにより、閉じる前の接続ソケットですべてのデータが送受信されるようになります。

Close メソッドを呼び出して、Socket に関連付けられたすべてのマネージ リソースとアンマネージ リソースを解放します。閉じた後は Socket の再利用はできません。

how パラメータに有効な SocketShutdown 列挙値を次の表に示します。

値

説明

Send

この Socket での送信を無効にします。

Receive

この Socket での受信を無効にします。

Both

この Socket での送受信を無効にします。

how を Send に設定すると、後続の Send への呼び出しの禁止が指定されます。コネクションレスの Socket を使用している場合は、Send を指定しても無効です。

how を Receive に設定すると、後続の Receive への呼び出しの禁止が指定されます。下位のプロトコル層には影響を与えません。コネクション指向のプロトコルを使用している場合は、Shutdown を呼び出した後に次の条件のいずれかが存在すると、接続が終了します。

コネクションレスのプロトコルを使用している場合、データグラムは受け入れられ、キューに置かれます。ただし、追加の受信データグラム用のバッファ領域がない場合は、そのデータグラムは破棄されます。このとき送信者側にはエラーが返されません。コネクションレスの Socket で Shutdown を使用することはお勧めできません。

how を Both に設定すると、上記のように送信および受信の両方が無効になります。

メモメモ

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

使用例使用例

Shutdown を使用して Socket を無効にするコード例を次に示します。

    aSocket.Shutdown(SocketShutdown.Both)
    aSocket.Close()

End Sub 'SocketClose
aSocket.Shutdown(SocketShutdown.Both);
aSocket.Close();
aSocket->Shutdown( SocketShutdown::Both );
aSocket->Close();
if ( aSocket->Connected )
{
   Console::WriteLine( "Winsock error: {0}", Convert::ToString(
      System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SocketShutdown 列挙体

Socket.Shutdown メソッドが使用する定数を定義します。

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

Dim instance As SocketShutdown
public enum SocketShutdown
public enum class SocketShutdown
public enum SocketShutdown
public enum SocketShutdown
メンバメンバ
解説解説

SocketShutdown 列挙体は、Socket.Shutdown メソッドへ渡すことができる値を定義します。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Net.Sockets 名前空間


英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「socket_shutdown」の関連用語

socket_shutdownのお隣キーワード
検索ランキング

   

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



socket_shutdownのページの著作権

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2026 by the PHP Documentation Group.
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS