Aracılığıyla paylaş


Socket.Connected Özellik

Tanım

Bir öğesinin son Send veya Receive işlem itibarıyla uzak bir konağa bağlı olup olmadığını Socket gösteren bir değer alır.

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

Özellik Değeri

true Socket en son işlemden itibaren uzak bir kaynağa bağlıysa; değilse, false.

Örnekler

Aşağıdaki kod örneği uzak uç noktaya bağlanır, özelliği denetler Connected ve bağlantının geçerli durumunu denetler.

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

Açıklamalar

özelliği, Connected son G/Ç işlemi itibarıyla öğesinin bağlantı durumunu Socket alır. döndürdüğünde falseSocket , hiçbir zaman bağlanmadı veya artık bağlı değil. Connectediş parçacığı güvenli değildir; başka bir iş parçacığıyla bağlantısı kesildiğinde bir işlem durdurulduktan Socket sonra döndürülebilirtrue.

özelliğinin Connected değeri, en son işlemden itibaren bağlantının durumunu yansıtır. Bağlantının geçerli durumunu belirlemeniz gerekiyorsa engelleyici olmayan, sıfır bayt Gönderme çağrısı yapın. Çağrı başarıyla döndürülüyorsa veya WAEWOULDBLOCK hata kodu (10035) oluşturursa yuva hala bağlı olur; aksi takdirde yuva artık bağlı değildir.

Kullanıcı Veri Birimi Protokolü (UDP) yuvasını çağırırsanız Connect , Connected özelliği her zaman döndürür true; ancak bu eylem UDP'nin doğal bağlantısız doğasını değiştirmez.

Şunlara uygulanır