Socket.Connected Egenskap

Definition

Hämtar ett värde som anger om en Socket är ansluten till en fjärrvärd från och med den senaste Send åtgärden eller Receive åtgärden.

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

Egenskapsvärde

trueom var Socket ansluten till en fjärrresurs från och med den senaste åtgärden, annars . false

Exempel

Följande kodexempel ansluter till en fjärrslutpunkt, kontrollerar Connected egenskapen och kontrollerar anslutningens aktuella tillstånd.

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

Kommentarer

Egenskapen Connected hämtar anslutningstillståndet för den Socket senaste I/O-åtgärden. När den returnerar falseSocket var den antingen aldrig ansluten eller är inte längre ansluten. Connected är inte trådsäker. den kan returneras true när en åtgärd har avbrutits när den Socket är frånkopplad från en annan tråd.

Värdet för Connected egenskapen återspeglar anslutningens tillstånd från och med den senaste åtgärden. Om du behöver fastställa det aktuella tillståndet för anslutningen ska du göra ett icke-blockerande, nollbytes-sändningsanrop. Om anropet returnerar eller genererar en WAEWOULDBLOCK-felkod (10035) är socketen fortfarande ansluten. annars är socketen inte längre ansluten.

Om du anropar Connect en UDP-socket Connected (User Datagram Protocol) returnerar trueegenskapen alltid . Men den här åtgärden ändrar inte UDP:s inbyggda anslutningslösa natur.

Gäller för