Socket.Close 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.
Schließt die Socket-Verbindung und gibt alle zugeordneten Ressourcen frei.
Überlädt
Close() |
Schließt die Socket-Verbindung und gibt alle zugeordneten Ressourcen frei. |
Close(Int32) |
Schließt die Socket-Verbindung und gibt alle zugeordneten Ressourcen mit einem angegebenen Timeout frei, damit in der Warteschlange befindliche Daten gesendet werden können. |
Close()
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Schließt die Socket-Verbindung und gibt alle zugeordneten Ressourcen frei.
public:
void Close();
public void Close ();
member this.Close : unit -> unit
Public Sub Close ()
Beispiele
Im folgenden Codebeispiel wird ein Socketgeschlossen.
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
Hinweise
Die Close -Methode schließt die Remotehostverbindung und gibt alle verwalteten und nicht verwalteten Ressourcen frei, die dem Socketzugeordnet sind. Beim Schließen wird die Connected -Eigenschaft auf false
festgelegt.
Bei verbindungsorientierten Protokollen wird empfohlen, dass Sie vor dem Aufrufen der Close Methode aufrufenShutdown. Dadurch wird sichergestellt, dass alle Daten auf dem verbundenen Socket gesendet und empfangen werden, bevor sie geschlossen werden.
Wenn Sie ohne ersten Aufruf aufrufen Close müssen, können Sie sicherstellen, dass daten, die für die ausgehende Übertragung in die Warteschlange gestellt werden, gesendet werden, indem Sie dieSocketDontLingerOption auf false
festlegen und ein Timeoutintervall ungleich Null Shutdownangeben.
Close wird dann blockiert, bis diese Daten gesendet werden oder bis das angegebene Timeout abläuft. Wenn Sie auf false
festlegen DontLinger und ein Timeoutintervall von null angeben, Close wird die Verbindung freigegeben und ausgehende Daten in der Warteschlange automatisch verworfen.
Hinweis
Um die DontLinger Socketoption auf false
festzulegen, erstellen Sie einen LingerOption, legen Sie die aktivierte Eigenschaft auf true
fest, 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
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Weitere Informationen
Gilt für:
Close(Int32)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Schließt die Socket-Verbindung und gibt alle zugeordneten Ressourcen mit einem angegebenen Timeout frei, damit in der Warteschlange befindliche Daten gesendet werden können.
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 die verbleibenden Daten zu senden, und schließen Sie dann den Socket.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein geschlossen wird 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
Hinweise
Die Close -Methode schließt die Remotehostverbindung und gibt alle verwalteten und nicht verwalteten Ressourcen frei, die dem Socketzugeordnet sind. Beim Schließen wird die Connected -Eigenschaft auf false
festgelegt.
Für verbindungsorientierte Protokolle empfiehlt es sich, vor dem Aufrufen Closevon aufzurufenShutdown. Dadurch wird sichergestellt, dass alle Daten auf dem verbundenen Socket gesendet und empfangen werden, bevor sie geschlossen werden.
Wenn Sie ohne ersten Aufruf Shutdownaufrufen Close müssen, können Sie sicherstellen, dass daten, die für die ausgehende Übertragung in die Warteschlange gestellt werden, gesendet werden, indem Sie die DontLinger Option auf false
festlegen und ein Timeoutintervall ungleich Null angeben.
Close wird dann blockiert, bis diese Daten gesendet werden oder bis das angegebene Timeout abläuft. Wenn Sie auf false
festlegen DontLinger und ein Timeoutintervall von null angeben, Close wird die Verbindung freigegeben und ausgehende Daten in der Warteschlange automatisch verworfen.
Hinweis
Um die DontLinger Socketoption auf false
festzulegen, erstellen Sie einen LingerOption, legen Sie die aktivierte Eigenschaft auf true
fest, 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
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.