Socket.Close Méthode

Définition

Ferme la connexion Socket et libère toutes les ressources associées.

Surcharges

Close()

Ferme la connexion Socket et libère toutes les ressources associées.

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.

Close()

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Ferme la connexion Socket et libère toutes les ressources associées.

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

Exemples

L’exemple de code suivant ferme un 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 à .Socket Lors de la fermeture, la Connected propriété est définie sur false.

Pour les protocoles orientés connexion, il est recommandé d’appeler Shutdown avant d’appeler la Close méthode . Cela garantit que toutes les données sont envoyées et reçues sur le socket connecté avant sa fermeture.

Si vous devez appeler Close sans appeler Shutdownd’abord , vous pouvez vous assurer que les données mises en file d’attente pour la transmission sortante seront envoyées en définissant l’option DontLingerSocketfalse sur et en spécifiant un intervalle de délai d’attente différent de zéro. Close se bloque ensuite jusqu’à ce que ces données soient envoyées ou jusqu’à l’expiration du délai d’attente spécifié. Si vous définissez DontLingerfalse sur et spécifiez un intervalle de délai d’attente zéro, Close libère la connexion et ignore automatiquement les données en file d’attente sortantes.

Notes

Pour définir l’option DontLinger socket sur false, créez un LingerOption, définissez la propriété enabled sur trueet définissez la LingerTime propriété sur le délai d’attente souhaité. Utilisez cette option LingerOption avec l’option DontLinger socket pour appeler la SetSocketOption méthode .

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

Voir aussi

S’applique à

Close(Int32)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

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.

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 quelques millisecondes pour envoyer les données restantes, puis fermez le socket.

Exemples

L’exemple de code suivant montre comment fermer un 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 à .Socket Lors de la fermeture, la Connected propriété est définie sur false.

Pour les protocoles orientés connexion, il est recommandé d’appeler Shutdown avant d’appeler Close. Cela garantit que toutes les données sont envoyées et reçues sur le socket connecté avant sa fermeture.

Si vous devez appeler Close sans appeler Shutdownd’abord , vous pouvez vous assurer que les données mises en file d’attente pour la transmission sortante seront envoyées en définissant l’option DontLingerfalse sur et en spécifiant un intervalle de délai d’attente différent de zéro. Close se bloque ensuite jusqu’à ce que ces données soient envoyées ou jusqu’à l’expiration du délai d’attente spécifié. Si vous définissez DontLingerfalse sur et spécifiez un intervalle de délai d’attente zéro, Close libère la connexion et ignore automatiquement les données en file d’attente sortantes.

Notes

Pour définir l’option DontLinger socket sur false, créez un LingerOption, définissez la propriété enabled sur trueet définissez la LingerTime propriété sur le délai d’attente souhaité. Utilisez cette option LingerOption avec l’option DontLinger socket pour appeler la SetSocketOption méthode .

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

Voir aussi

S’applique à