Socket.Shutdown(SocketShutdown) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.