Socket.Connected Propriedade

Definição

Obtém um valor que indica se a Socket está ligado a um host remoto na última Send operação.Receive

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

Valor de Propriedade

true se o Socket estava ligado a um recurso remoto na operação mais recente; caso contrário, false.

Exemplos

O seguinte exemplo de código liga-se a um endpoint remoto, verifica a Connected propriedade e verifica o estado atual da ligação.

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

Observações

A Connected propriedade obtém o estado de ligação da Socket última operação de E/S. Quando regressa false, o Socket ou nunca esteve ligado, ou já não está ligado. Connected não é seguro para rosca; pode regressar true após uma operação ser abortada, quando o Socket é desligado de outro thread.

O valor da Connected propriedade reflete o estado da ligação na operação mais recente. Se precisares de determinar o estado atual da ligação, faz uma chamada Send sem bloqueio, sem byte. Se a chamada regressar com sucesso ou gerar um código de erro WAEWOULDBLOCK (10035), então o socket continua ligado; caso contrário, a tomada deixa de estar ligada.

Se invocar Connect um socket User Datagram Protocol (UDP), a Connected propriedade devolve truesempre ; no entanto, esta ação não altera a natureza inerentemente sem ligação do UDP.

Aplica-se a