Socket.Connected Eigenschap

Definitie

Hiermee wordt een waarde opgehaald die aangeeft of een Socket verbinding is gemaakt met een externe host vanaf de laatste Send of Receive bewerking.

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

Waarde van eigenschap

trueals de Socket verbinding is gemaakt met een externe resource vanaf de meest recente bewerking; anders. false

Voorbeelden

Het volgende codevoorbeeld maakt verbinding met een extern eindpunt, controleert de Connected eigenschap en controleert de huidige status van de verbinding.

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

Opmerkingen

De Connected eigenschap haalt de verbindingsstatus op van de Socket laatste I/O-bewerking. Wanneer deze wordt geretourneerd false, is de verbinding Socket nooit verbonden of is deze niet meer verbonden. Connected is niet thread-safe; deze kan worden geretourneerd true nadat een bewerking is afgebroken wanneer de Socket verbinding met een andere thread is verbroken.

De waarde van de Connected eigenschap weerspiegelt de status van de verbinding vanaf de meest recente bewerking. Als u de huidige status van de verbinding wilt bepalen, maakt u een niet-blokkerende, zero-byte Send-aanroep. Als de aanroep met succes wordt geretourneerd of een WAEWOULDBLOCK-foutcode (10035) genereert, is de socket nog steeds verbonden; anders is de socket niet meer aangesloten.

Als u een UDP-socket (User Datagram Protocol) aanroept Connecttrue, wordt de Connected eigenschap altijd geretourneerd. Deze actie verandert echter niet de inherente aard van UDP zonder verbinding.

Van toepassing op