Socket.Connected Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
public:
property bool Connected { bool get(); };
public bool Connected { get; }
member this.Connected : bool
Public ReadOnly Property Connected As Boolean
Eigenschaftswert
true wenn die Socket Verbindung mit einer Remoteressource ab dem letzten Vorgang hergestellt wurde; andernfalls false.
Beispiele
Im folgenden Codebeispiel wird eine Verbindung mit einem Remoteendpunkt hergestellt, die Connected Eigenschaft überprüft und der aktuelle Status der Verbindung überprüft.
// .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
Hinweise
Die Connected Eigenschaft ruft den Verbindungsstatus des Socket letzten E/A-Vorgangs ab. Wenn sie zurückgegeben wird false, wurde die Socket Verbindung entweder nie hergestellt oder ist nicht mehr verbunden.
Connected ist nicht threadsicher; sie kann zurückgegeben werden true , nachdem ein Vorgang abgebrochen wurde, wenn die Socket Verbindung mit einem anderen Thread getrennt wird.
Der Wert der Connected Eigenschaft gibt den Status der Verbindung ab dem letzten Vorgang wieder. Wenn Sie den aktuellen Status der Verbindung ermitteln müssen, führen Sie einen Nichtblockierungs-, Null-Byte-Sendeanruf aus. Wenn der Aufruf erfolgreich zurückgibt oder einen WAEWOULDBLOCK-Fehlercode (10035) auslöst, ist der Socket noch verbunden; andernfalls ist der Socket nicht mehr verbunden.
Wenn Sie einen UDP-Socket (User Datagram Protocol) aufrufen Connect , gibt die Connected Eigenschaft immer zurück true. Diese Aktion ändert jedoch nicht die inhärente verbindungslose Art von UDP.