Freigeben über


Socket.Close Methode

Definition

Schließt die Socket Verbindung und gibt alle zugehörigen Ressourcen frei.

Überlädt

Name Beschreibung
Close()

Schließt die Socket Verbindung und gibt alle zugehörigen Ressourcen frei.

Close(Int32)

Schließt die Socket Verbindung und gibt alle zugeordneten Ressourcen mit einem angegebenen Timeout frei, um das Senden von in die Warteschlange eingereihten Daten zu ermöglichen.

Close()

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

Schließt die Socket Verbindung und gibt alle zugehörigen Ressourcen frei.

public:
 void Close();
public void Close();
member this.Close : unit -> unit
Public Sub Close ()

Beispiele

Im folgenden Codebeispiel wird ein Socket.

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

End Sub

Hinweise

Die Close Methode schließt die Remotehostverbindung und gibt alle verwalteten und nicht verwalteten Ressourcen frei, die dem SocketZugeordneten zugeordnet sind. Beim Schließen wird die Connected Eigenschaft auf false.

Für verbindungsorientierte Protokolle wird empfohlen, vor dem Aufrufen der Close Methode aufzurufenShutdown. Dadurch wird sichergestellt, dass alle Daten an den verbundenen Socket gesendet und empfangen werden, bevor sie geschlossen werden.

Wenn Sie ohne ersten Anruf anrufen Close müssen, können Sie sicherstellen, dass die für die ausgehende Übertragung in die Warteschlange eingereihten Daten gesendet werden, indem Sie dieSocketDontLingerOption festlegen false und ein Timeoutintervall ohne Null Shutdownangeben. Close wird dann blockiert, bis diese Daten gesendet werden oder bis das angegebene Timeout abläuft. Wenn Sie ein false Timeoutintervall null festlegen DontLinger und angeben, Close wird die Verbindung losgelassen und ausgehende Daten in der Warteschlange automatisch verworfen.

Hinweis

Um die DontLinger Socketoption auf falsefestzulegen, erstellen Sie eine LingerOption, legen Sie die aktivierte Eigenschaft auf true, und legen Sie die LingerTime Eigenschaft auf den gewünschten Timeoutzeitraum fest. Verwenden Sie dies LingerOption zusammen mit der DontLinger Socketoption, um die SetSocketOption Methode aufzurufen.

Hinweis

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

Weitere Informationen

Gilt für:

Close(Int32)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

Schließt die Socket Verbindung und gibt alle zugeordneten Ressourcen mit einem angegebenen Timeout frei, um das Senden von in die Warteschlange eingereihten Daten zu ermöglichen.

public:
 void Close(int timeout);
public void Close(int timeout);
member this.Close : int -> unit
Public Sub Close (timeout As Integer)

Parameter

timeout
Int32

Warten Sie bis zu timeout Millisekunden, um alle verbleibenden Daten zu senden, und schließen Sie dann den Socket.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein Socket.

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

End Sub

Hinweise

Die Close Methode schließt die Remotehostverbindung und gibt alle verwalteten und nicht verwalteten Ressourcen frei, die dem SocketZugeordneten zugeordnet sind. Beim Schließen wird die Connected Eigenschaft auf false.

Bei verbindungsorientierten Protokollen wird empfohlen, vor dem Aufrufen aufzurufen ShutdownClose. Dadurch wird sichergestellt, dass alle Daten an den verbundenen Socket gesendet und empfangen werden, bevor sie geschlossen werden.

Wenn Sie ohne ersten Anruf Shutdownanrufen Close müssen, können Sie sicherstellen, dass die für die ausgehende Übertragung in die Warteschlange eingereihten Daten gesendet werden, indem Sie die DontLinger Option festlegen false und ein Timeoutintervall ohne Null angeben. Close wird dann blockiert, bis diese Daten gesendet werden oder bis das angegebene Timeout abläuft. Wenn Sie ein false Timeoutintervall null festlegen DontLinger und angeben, Close wird die Verbindung losgelassen und ausgehende Daten in der Warteschlange automatisch verworfen.

Hinweis

Um die DontLinger Socketoption auf falsefestzulegen, erstellen Sie eine LingerOption, legen Sie die aktivierte Eigenschaft auf true, und legen Sie die LingerTime Eigenschaft auf den gewünschten Timeoutzeitraum fest. Verwenden Sie dies LingerOption zusammen mit der DontLinger Socketoption, um die SetSocketOption Methode aufzurufen.

Hinweis

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

Weitere Informationen

Gilt für: