Socket.Shutdown(SocketShutdown) メソッド
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Socket での送受信を無効にします。
public:
void Shutdown(System::Net::Sockets::SocketShutdown how);
public void Shutdown(System.Net.Sockets.SocketShutdown how);
member this.Shutdown : System.Net.Sockets.SocketShutdown -> unit
Public Sub Shutdown (how As SocketShutdown)
- how
- SocketShutdown
許可されなくなる操作を指定する SocketShutdown 値の 1 つ。
ソケットへのアクセスを試行しているときにエラーが発生しました。
Socket が閉じられました。
次のコード例では、 を使用 Shutdown して を Socket無効にします。
try
{
aSocket->Shutdown(SocketShutdown::Both);
aSocket->Close();
}
catch (...)
{
aSocket->Close();
throw;
}
if ( aSocket->Connected )
{
Console::WriteLine( "Winsock error: {0}", Convert::ToString(
System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
try
{
aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
aSocket.Close();
}
Try
aSocket.Shutdown(SocketShutdown.Both)
Finally
aSocket.Close()
End Try
End Sub
接続指向 Socketを使用する場合は、 を閉じる前に常に メソッドをShutdownSocket呼び出します。 これにより、接続されているソケットが閉じられる前にすべてのデータが送受信されます。
に Close 関連付けられているすべてのマネージド リソースとアンマネージド リソースを解放するには、 メソッドを呼び出します Socket。 閉じた後に を Socket 再利用しないでください。
次の表は、 パラメーターに SocketShutdown 対して有効な列挙値を how
示しています。
を に設定 how
すると Send 、 への後続の呼び出しが許可されないことが Send 指定されます。 コネクションレス Socketを使用している場合、 を Send 指定しても効果はありません。
を に設定 how
すると Receive 、 への後続の呼び出しが許可されないことが Receive 指定されます。 これは、下位のプロトコル レイヤーには影響しません。 接続指向プロトコルを使用している場合、 の呼び出し Shutdown 後に次のいずれかの条件が存在する場合、接続は終了します。
データは受信を待機している受信ネットワーク バッファー内にあります。
より多くのデータが到着しました。
コネクションレス プロトコルを使用している場合は、データグラムが受け入れられ、キューに入れられます。 ただし、追加の受信データグラムに使用できるバッファー領域がない場合は、破棄され、送信者にエラーは返されません。 コネクションレスSocketで を使用Shutdownすることはお勧めしません。
を に設定 how
すると Both 、上記のように送受信の両方が無効になります。
注意
メソッドを呼び出すときに をSocketExceptionShutdown受け取った場合は、 プロパティをSocketException.ErrorCode使用して特定のエラー コードを取得します。 このコードを取得したら、エラーの詳細な説明については、 Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。
注意
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。
製品 | バージョン |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。