Socket.Close Méthode

Définition

Ferme la connexion Socket et libère toutes les ressources associées.Closes the Socket connection and releases all associated resources.

Surcharges

Close()

Ferme la connexion Socket et libère toutes les ressources associées.Closes the Socket connection and releases all associated resources.

Close(Int32)

Ferme la connexion Socket et libère toutes les ressources associées avec un délai d’attente spécifié pour permettre l’envoi des données en file d’attente.Closes the Socket connection and releases all associated resources with a specified timeout to allow queued data to be sent.

Close()

Ferme la connexion Socket et libère toutes les ressources associées.Closes the Socket connection and releases all associated resources.

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

Exemples

L’exemple de code suivant ferme un Socket .The following code example closes a 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

Remarques

La Close méthode ferme la connexion de l’hôte distant et libère toutes les ressources managées et non managées associées au Socket .The Close method closes the remote host connection and releases all managed and unmanaged resources associated with the Socket. Lors de la fermeture, la Connected propriété a la valeur false .Upon closing, the Connected property is set to false.

Pour les protocoles orientés connexion, il est recommandé d’appeler Shutdown avant d’appeler la Close méthode.For connection-oriented protocols, it is recommended that you call Shutdown before calling the Close method. Cela garantit que toutes les données sont envoyées et reçues sur le socket connecté avant sa fermeture.This ensures that all data is sent and received on the connected socket before it is closed.

Si vous devez appeler Close sans appeler au préalable Shutdown , vous pouvez vous assurer que les données mises en file d’attente pour la transmission sortante sont envoyées en affectant à l’option la valeur DontLinger Socket et en false spécifiant un intervalle de délai d’attente différent de zéro.If you need to call Close without first calling Shutdown, you can ensure that data queued for outgoing transmission will be sent by setting the DontLingerSocket option to false and specifying a non-zero time-out interval. Close se bloquera ensuite jusqu’à ce que ces données soient envoyées ou jusqu’à expiration du délai d’attente spécifié.Close will then block until this data is sent or until the specified time-out expires. Si vous affectez DontLinger à false la valeur et spécifiez un intervalle de délai d’attente égal à zéro, Close libère la connexion et ignore automatiquement les données sortantes en file d’attente.If you set DontLinger to false and specify a zero time-out interval, Close releases the connection and automatically discards outgoing queued data.

Notes

Pour définir l' DontLinger option de socket sur false , créez un LingerOption , affectez à la propriété Enabled la valeur true et définissez la LingerTime propriété sur le délai d’attente souhaité.To set the DontLinger socket option to false, create a LingerOption, set the enabled property to true, and set the LingerTime property to the desired time out period. Utilisez-le LingerOption avec l' DontLinger option de socket pour appeler la SetSocketOption méthode.Use this LingerOption along with the DontLinger socket option to call the SetSocketOption method.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez la page traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Voir aussi

S’applique à

Produit Introduced

Close(Int32)

Ferme la connexion Socket et libère toutes les ressources associées avec un délai d’attente spécifié pour permettre l’envoi des données en file d’attente.Closes the Socket connection and releases all associated resources with a specified timeout to allow queued data to be sent.

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

Paramètres

timeout
Int32

Attendez jusqu’à timeout secondes pour envoyer toutes les données restantes, puis fermez le socket.Wait up to timeout seconds to send any remaining data, then close the socket.

Exemples

L’exemple de code suivant montre comment fermer un Socket .The following code example demonstrates how to close a 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

Remarques

La Close méthode ferme la connexion de l’hôte distant et libère toutes les ressources managées et non managées associées au Socket .The Close method closes the remote host connection and releases all managed and unmanaged resources associated with the Socket. Lors de la fermeture, la Connected propriété a la valeur false .Upon closing, the Connected property is set to false.

Pour les protocoles orientés connexion, il est recommandé d’appeler Shutdown avant d’appeler Close .For connection-oriented protocols, it is recommended that you call Shutdown before calling Close. Cela garantit que toutes les données sont envoyées et reçues sur le socket connecté avant sa fermeture.This ensures that all data is sent and received on the connected socket before it is closed.

Si vous devez appeler Close sans appeler au préalable Shutdown , vous pouvez vous assurer que les données mises en file d’attente pour la transmission sortante sont envoyées en affectant à l’option la valeur DontLinger et en false spécifiant un intervalle de délai d’attente différent de zéro.If you need to call Close without first calling Shutdown, you can ensure that data queued for outgoing transmission will be sent by setting the DontLinger option to false and specifying a non-zero time-out interval. Close se bloquera ensuite jusqu’à ce que ces données soient envoyées ou jusqu’à expiration du délai d’attente spécifié.Close will then block until this data is sent or until the specified time-out expires. Si vous affectez DontLinger à false la valeur et spécifiez un intervalle de délai d’attente égal à zéro, Close libère la connexion et ignore automatiquement les données sortantes en file d’attente.If you set DontLinger to false and specify a zero time-out interval, Close releases the connection and automatically discards outgoing queued data.

Notes

Pour définir l' DontLinger option de socket sur false , créez un LingerOption , affectez à la propriété Enabled la valeur true et affectez le délai LingerTime d’attente souhaité à la propriété.To set the DontLinger socket option to false, create a LingerOption, set the enabled property to true, and set the LingerTime property to the desired time-out period. Utilisez-le LingerOption avec l' DontLinger option de socket pour appeler la SetSocketOption méthode.Use this LingerOption along with the DontLinger socket option to call the SetSocketOption method.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application.This member outputs trace information when you enable network tracing in your application. Pour plus d’informations, consultez la page traçage réseau dans le .NET Framework.For more information, see Network Tracing in the .NET Framework.

Voir aussi

S’applique à

Produit Introduced