Socket.Connected Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.