Cette documentation est archivée et n’est pas conservée.

Socket.Connected, propriété

Obtient une valeur qui indique si Socket est connecté à un hôte distant depuis la dernière opération Send ou Receive.

Espace de noms : System.Net.Sockets
Assembly : System (dans system.dll)

public bool Connected { get; }
/** @property */
public boolean get_Connected ()

public function get Connected () : boolean

Valeur de la propriété

true si Socket était connecté à une ressource distante lors de l'opération la plus récente ; sinon false.

La propriété Connected obtient l'état de connexion de Socket lors de la dernière opération d'E/S. Si elle retourne false, cela signifie que Socket n'a jamais été connecté ou qu'il ne l'est plus.

La valeur de la propriété Connected reflète l'état de la connexion depuis la dernière opération. Si vous devez déterminer l'état actuel de la connexion, lancez un appel Send non bloquant de zéro octet. Si l'appel est retourné avec succès ou lève un code d'erreur WAEWOULDBLOCK (10035), le socket est toujours connecté ; sinon, le socket n'est plus connecté.

Si vous appelez Connect sur un socket UDP (User Datagram Protocol), la propriété Connected retourne toujours la valeur true ; toutefois, cette action ne modifie pas la nature inhérente à UDP, qui est d'être dépourvu de connexion.

L'exemple de code suivant se connecte à un point de terminaison distant, vérifie la propriété Connected et vérifie l'état actuel de la connexion.

// .Connect throws an exception if unsuccessful
client.Connect(anEndPoint);

// This is how you can determine whether a socket is still connected.
bool blockingState = client.Blocking;
try
{
    byte [] tmp = new byte[1];

    client.Blocking = false;
    client.Send(tmp, 0, 0);
    Console.WriteLine("Connected!");
}
catch (SocketException e) 
{
    // 10035 == WSAEWOULDBLOCK
    if (e.NativeErrorCode.Equals(10035))
        Console.WriteLine("Still Connected, but the Send would block");
    else
    {
        Console.WriteLine("Disconnected: error code {0}!", e.NativeErrorCode);
    }
}
finally
{
    client.Blocking = blockingState;
}

 Console.WriteLine("Connected: {0}", client.Connected);

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Afficher: