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 jako poslední Send nebo Receive operace.

public:
 property bool Connected { bool get(); };
public bool Connected { get; }
member this.Connected : bool
Public ReadOnly Property Connected As Boolean

Hodnota vlastnosti

true Socket pokud byl připojen ke vzdálenému prostředku jako poslední operace; v opačném případě false.

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í.

// .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);
    ' .Connect throws an exception if unsuccessful
    client.Connect(anEndPoint)
    
    ' This is how you can determine whether a socket is still connected.
    Dim blockingState As Boolean = client.Blocking
    Try
        Dim tmp(0) As Byte
        
        client.Blocking = False
        client.Send(tmp, 0, 0)
        Console.WriteLine("Connected!")
    Catch e As SocketException
        ' 10035 == WSAEWOULDBLOCK
        If e.NativeErrorCode.Equals(10035) Then
            Console.WriteLine("Still Connected, but the Send would block")
        Else
            Console.WriteLine("Disconnected: error code {0}!", e.NativeErrorCode)
        End If
    Finally
        client.Blocking = blockingState
    End Try
    
    Console.WriteLine("Connected: {0}", client.Connected)

End Sub

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 již 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í jako poslední operace. Pokud potřebujete určit aktuální stav připojení, proveďte neblokující volání s nulovým bajtem Odeslat. Pokud volání úspěšně vrátí nebo vyvolá kód chyby WAEWOULDBLOCK (10035), pak je soket stále připojen; jinak se soket už nepřipojí.

Pokud voláte Connect soket UDP (User Datagram Protocol), Connected vlastnost vždy vrátí true; tato akce však nezmění podstatu připojení bez připojení UDP.

Platí pro