Freigeben über


Socket.Shutdown(SocketShutdown) Methode

Definition

Deaktiviert Sende- und Empfänge für ein 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)

Parameter

how
SocketShutdown

Einer der SocketShutdown Werte, der den Vorgang angibt, der nicht mehr zulässig ist.

Ausnahmen

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Das Socket wurde geschlossen.

Beispiele

Im folgenden Codebeispiel wird zum Deaktivieren des SocketCodes verwendetShutdown.

try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}
    Try
        aSocket.Shutdown(SocketShutdown.Both)
    Finally
        aSocket.Close()
    End Try

End Sub

Hinweise

Wenn Sie eine verbindungsorientierte SocketMethode verwenden, rufen Sie die Shutdown Methode immer auf, bevor Sie die Socket. Dadurch wird sichergestellt, dass alle Daten an den verbundenen Socket gesendet und empfangen werden, bevor sie geschlossen werden.

Rufen Sie die Close Methode auf, um alle verwalteten und nicht verwalteten Ressourcen freizugeben, die dem Zugeordneten Socketzugeordnet sind. Versuchen Sie nicht, den nach dem Socket Schließen wiederzuverwenden.

In der folgenden Tabelle sind die Enumerationswerte aufgeführt, die SocketShutdown für den how Parameter gültig sind.

Wert Beschreibung
Senden Deaktivieren Sie das Senden auf diesem Socket.
Empfangen Deaktivieren Sie den Empfang auf diesem Socket.
Beides Deaktivieren Sie sowohl das Senden als auch den Empfang auf dieser SocketSeite.

Einstellung how , die Send angibt, dass nachfolgende Aufrufe Send nicht zulässig sind. Wenn Sie eine Verbindung ohne SocketVerbindung verwenden, hat die Angabe Send keine Auswirkung.

Einstellung how , die Receive angibt, dass nachfolgende Aufrufe Receive nicht zulässig sind. Dies hat keine Auswirkungen auf niedrigere Protokollebenen. Wenn Sie ein verbindungsorientiertes Protokoll verwenden, wird die Verbindung beendet, wenn eine der folgenden Bedingungen nach einem Aufruf von Shutdown :

  • Die Daten befinden sich im eingehenden Netzwerkpuffer, der auf den Empfang wartet.

  • Weitere Daten sind eingegangen.

Wenn Sie ein verbindungsloses Protokoll verwenden, werden Datagramme akzeptiert und in die Warteschlange gestellt. Wenn jedoch kein Pufferspeicher für zusätzliche eingehende Datagramme verfügbar ist, werden sie verworfen, und es wird kein Fehler an den Absender zurückgegeben. Die Verwendung Shutdown auf einer Verbindung ohne Socket Verbindung wird nicht empfohlen.

Die Einstellung how zum Both Deaktivieren von Senden und Empfangen wird wie oben beschrieben deaktiviert.

Hinweis

Wenn Sie beim Aufrufen der Shutdown Methode eine SocketException Erhalten haben, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen. Nachdem Sie diesen Code erhalten haben, finden Sie in der Windows Sockets Version 2-API-Fehlercodedokumentation eine detaillierte Beschreibung des Fehlers.

Hinweis

Dieses Mitglied gibt Protokollierungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing in .NET Framework.

Gilt für:

Weitere Informationen