Socket.Connected Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
public:
property bool Connected { bool get(); };
public bool Connected { get; }
member this.Connected : bool
Public ReadOnly Property Connected As Boolean
Waarde van eigenschap
trueals de Socket verbinding is gemaakt met een externe resource vanaf de meest recente bewerking; anders. false
Voorbeelden
Het volgende codevoorbeeld maakt verbinding met een extern eindpunt, controleert de Connected eigenschap en controleert de huidige status van de verbinding.
// .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
Opmerkingen
De Connected eigenschap haalt de verbindingsstatus op van de Socket laatste I/O-bewerking. Wanneer deze wordt geretourneerd false, is de verbinding Socket nooit verbonden of is deze niet meer verbonden.
Connected is niet thread-safe; deze kan worden geretourneerd true nadat een bewerking is afgebroken wanneer de Socket verbinding met een andere thread is verbroken.
De waarde van de Connected eigenschap weerspiegelt de status van de verbinding vanaf de meest recente bewerking. Als u de huidige status van de verbinding wilt bepalen, maakt u een niet-blokkerende, zero-byte Send-aanroep. Als de aanroep met succes wordt geretourneerd of een WAEWOULDBLOCK-foutcode (10035) genereert, is de socket nog steeds verbonden; anders is de socket niet meer aangesloten.
Als u een UDP-socket (User Datagram Protocol) aanroept Connecttrue, wordt de Connected eigenschap altijd geretourneerd. Deze actie verandert echter niet de inherente aard van UDP zonder verbinding.