Socket.Shutdown(SocketShutdown) Socket.Shutdown(SocketShutdown) Socket.Shutdown(SocketShutdown) Socket.Shutdown(SocketShutdown) Method

定義

Socket での送受信を無効にします。Disables sends and receives on a 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 SocketShutdown SocketShutdown

許可されなくなる操作を指定する SocketShutdown 値の 1 つ。One of the SocketShutdown values that specifies the operation that will no longer be allowed.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

次のコード例ではShutdownを無効にする、Socketします。The following code example uses Shutdown to disable the Socket.

aSocket->Shutdown( SocketShutdown::Both );
aSocket->Close();
if ( aSocket->Connected )
{
   Console::WriteLine( "Winsock error: {0}", Convert::ToString(
      System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
aSocket.Shutdown(SocketShutdown.Both);
aSocket.Close();
    aSocket.Shutdown(SocketShutdown.Both)
    aSocket.Close()

End Sub 'SocketClose

注釈

接続指向を使用する場合Socket、常に呼び出し、Shutdownメソッドを終了する前に、Socketします。When using a connection-oriented Socket, always call the Shutdown method before closing the Socket. これにより、すべてのデータが送信されており、それを閉じる前に、接続のソケットで受信したこと。This ensures that all data is sent and received on the connected socket before it is closed.

呼び出す、Closeマネージし、アンマネージに関連付けられているリソースのすべてを解放するメソッド、Socketします。Call the Close method to free all managed and unmanaged resources associated with the Socket. 再利用しないで、Socket終了後にします。Do not attempt to reuse the Socket after closing.

次の表は、SocketShutdownに対して有効な列挙値、howパラメーター。The following table shows the SocketShutdown enumeration values that are valid for the how parameter.

[値]Value 説明Description
送信Send これで送信を無効にSocketします。Disable sending on this Socket.
ReceiveReceive これで受信を無効にするSocketします。Disable receiving on this Socket.
両方Both この受信と送信を無効にするSocketします。Disable both sending and receiving on this Socket.

設定howSend後続のことを指定します呼び出しSendは許可されていません。Setting how to Send specifies that subsequent calls to Send are not allowed. コネクションレス型を使用している場合Socketを指定してSend効果はありません。If you are using a connectionless Socket, specifying Send will have no effect.

設定howReceive後続のことを指定します呼び出しReceiveは許可されていません。Setting how to Receive specifies that subsequent calls to Receive are not allowed. 下位のプロトコル層への影響はありません。This has no effect on lower protocol layers. 接続指向プロトコルを使用している呼び出しの後に、次の条件のいずれかが存在する場合、接続が終了Shutdown:If you are using a connection-oriented protocol, the connection is terminated if either of the following conditions exist after a call to Shutdown :

  • データは受信を待機しているネットワークの着信バッファーです。Data is in the incoming network buffer waiting to be received.

  • 多くのデータが到着しました。More data has arrived.

コネクションレスのプロトコルを使用している場合データグラムが受け入れられるし、キューに登録します。If you are using a connectionless protocol, datagrams are accepted and queued. ただし、追加の受信データグラムの使用可能なバッファー領域がない場合は破棄され、送信者にエラーが返されません。However, if no buffer space is available for additional incoming datagrams, they will be discarded and no error will be returned to the sender. 使用してShutdown、コネクションレスでSocketはお勧めしません。Using Shutdown on a connectionless Socket is not recommended.

設定howBoth両方の送信を無効にし、前述のように受信します。Setting how to Both disables both sends and receives as described above.

注意

表示された場合、SocketExceptionを呼び出すときに、Shutdownメソッドを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException when calling the Shutdown method, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、次を参照してください。ネットワークのトレースを .NET Framework でします。For more information, see Network Tracing in the .NET Framework.

適用対象

こちらもご覧ください