Číst v angličtině

Sdílet prostřednictvím


Socket.Connected Vlastnost

Definice

Získá hodnotu, která označuje, zda Socket je připojen ke vzdálenému hostiteli od poslední Send nebo Receive operace.

C#
public bool Connected { get; }

Hodnota vlastnosti

true Socket pokud byl prostředek připojený ke vzdálenému prostředku k poslední operaci, falsev opačném případě .

Příklady

Následující příklad kódu se připojí ke vzdálenému koncovému bodu, zkontroluje Connected vlastnost a zkontroluje aktuální stav připojení.

C#
// .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);

Poznámky

Vlastnost Connected získá stav Socket připojení k poslední vstupně-výstupní operaci. Když se vrátí false, Socket buď nebyl nikdy připojen, nebo už není připojený. Connected není bezpečný pro přístup z více vláken; může se vrátit true po přerušení operace při Socket odpojení od jiného vlákna.

Hodnota Connected vlastnosti odráží stav připojení k poslední operaci. Pokud potřebujete zjistit aktuální stav připojení, proveďte neblokující nulové bajtové volání Odeslat. Pokud se volání úspěšně vrátí nebo vyvolá kód chyby WAEWOULDBLOCK (10035), pak je soket stále připojen; jinak už soket není připojený.

Pokud zavoláte Connect na soket Connected UDP (User Datagram Protocol), vlastnost vždy vrátí true, ale tato akce nezmění inherentní povahu připojení UDP.

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0