Freigeben über


Socket.Connected Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob ein Socket Remotehost ab dem letzten Send oder Receive Vorgang mit einem Remotehost verbunden ist.

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

Eigenschaftswert

true wenn die Socket Verbindung mit einer Remoteressource ab dem letzten Vorgang hergestellt wurde; andernfalls false.

Beispiele

Im folgenden Codebeispiel wird eine Verbindung mit einem Remoteendpunkt hergestellt, die Connected Eigenschaft überprüft und der aktuelle Status der Verbindung überprüft.

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

Hinweise

Die Connected Eigenschaft ruft den Verbindungsstatus des Socket letzten E/A-Vorgangs ab. Wenn sie zurückgegeben wird false, wurde die Socket Verbindung entweder nie hergestellt oder ist nicht mehr verbunden. Connected ist nicht threadsicher; sie kann zurückgegeben werden true , nachdem ein Vorgang abgebrochen wurde, wenn die Socket Verbindung mit einem anderen Thread getrennt wird.

Der Wert der Connected Eigenschaft gibt den Status der Verbindung ab dem letzten Vorgang wieder. Wenn Sie den aktuellen Status der Verbindung ermitteln müssen, führen Sie einen Nichtblockierungs-, Null-Byte-Sendeanruf aus. Wenn der Aufruf erfolgreich zurückgibt oder einen WAEWOULDBLOCK-Fehlercode (10035) auslöst, ist der Socket noch verbunden; andernfalls ist der Socket nicht mehr verbunden.

Wenn Sie einen UDP-Socket (User Datagram Protocol) aufrufen Connect , gibt die Connected Eigenschaft immer zurück true. Diese Aktion ändert jedoch nicht die inhärente verbindungslose Art von UDP.

Gilt für: