Freigeben über


Socket.Poll Methode

Definition

Überlädt

Name Beschreibung
Poll(TimeSpan, SelectMode)

Bestimmt den Status der Socket.

Poll(Int32, SelectMode)

Bestimmt den Status der Socket.

Poll(TimeSpan, SelectMode)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

Bestimmt den Status der Socket.

public:
 bool Poll(TimeSpan timeout, System::Net::Sockets::SelectMode mode);
public bool Poll(TimeSpan timeout, System.Net.Sockets.SelectMode mode);
member this.Poll : TimeSpan * System.Net.Sockets.SelectMode -> bool
Public Function Poll (timeout As TimeSpan, mode As SelectMode) As Boolean

Parameter

timeout
TimeSpan

Die Zeit, um auf eine Antwort zu warten.

mode
SelectMode

Einer der SelectMode Werte.

Gibt zurück

Der Status des Socket basierenden Abfragemoduswerts, der mode im Parameter übergeben wird. Gibt zurück true , wenn eine der folgenden Bedingungen vor ablaufen timeout , andernfalls false.

  • For SelectRead, it returns true if Listen() has been called and a connection is pending, if data is available for reading, or if the connection has been closed, reset, or terminated.
  • For SelectWrite, it returns true if processing a Connect and the connection has succeeded or if data can be sent.
  • For SelectError, it returns true if processing a Connect that does not block and the connection has failed, or if OutOfBandInline is not set and out-of-band data is available.
  • Andernfalls wird falsezurückgegeben.

Ausnahmen

timeout ist kleiner als -1 Millisekunden oder größer als MaxValue Millisekunden.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Das Socket wurde geschlossen.

Gilt für:

Poll(Int32, SelectMode)

Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs
Quelle:
Socket.cs

Bestimmt den Status der Socket.

public:
 bool Poll(int microSeconds, System::Net::Sockets::SelectMode mode);
public bool Poll(int microSeconds, System.Net.Sockets.SelectMode mode);
member this.Poll : int * System.Net.Sockets.SelectMode -> bool
Public Function Poll (microSeconds As Integer, mode As SelectMode) As Boolean

Parameter

microSeconds
Int32

Die Zeit, um auf eine Antwort zu warten, in Mikrosekunden.

mode
SelectMode

Einer der SelectMode Werte.

Gibt zurück

Der Status des Socket basierenden Abfragemoduswerts, der mode im Parameter übergeben wird.

  • For SelectRead, it returns true if Listen() has been called and a connection is pending, if data is available for reading, or if the connection has been closed, reset, or terminated.
  • For SelectWrite, it returns true if processing a Connect and the connection has succeeded or if data can be sent.
  • For SelectError, it returns true if processing a Connect that does not block and the connection has failed, or if OutOfBandInline is not set and out-of-band data is available.
  • Andernfalls wird falsezurückgegeben.

Ausnahmen

Der mode Parameter ist nicht einer der SelectMode Werte.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten. Weitere Informationen finden Sie weiter unten.

Das Socket wurde geschlossen.

Beispiele

Im folgenden Codebeispiel wird ein Socket erstellt, eine Verbindung mit einem Server hergestellt und verwendet Poll , um den Status des Sockets zu überprüfen.

//Creates the Socket for sending data over TCP.
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
   ProtocolType.Tcp );

// Connects to host using IPEndPoint.
s.Connect(EPhost);
if (!s.Connected)
{
   strRetPage = "Unable to connect to host";
}
// Use the SelectWrite enumeration to obtain Socket status.
 if(s.Poll(-1, SelectMode.SelectWrite)){
      Console.WriteLine("This Socket is writable.");
 }
 else if (s.Poll(-1, SelectMode.SelectRead)){
       Console.WriteLine("This Socket is readable." );
 }
 else if (s.Poll(-1, SelectMode.SelectError)){
      Console.WriteLine("This Socket has an error.");
 }
'Creates the Socket for sending data over TCP.
Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

' Connects to host using IPEndPoint.
s.Connect(EPhost)
If Not s.Connected Then
   strRetPage = "Unable to connect to host"
End If
' Use the SelectWrite enumeration to obtain Socket status.
If s.Poll(- 1, SelectMode.SelectWrite) Then
   Console.WriteLine("This Socket is writable.")
Else
   If s.Poll(- 1, SelectMode.SelectRead) Then
      Console.WriteLine(("This Socket is readable. "))
   Else
      If s.Poll(- 1, SelectMode.SelectError) Then
         Console.WriteLine("This Socket has an error.")
      End If
   End If 
End If

Hinweise

Die Poll Methode überprüft den Zustand der Socket. Geben Sie SelectMode.SelectRead an, ob Socket der selectMode Parameter lesbar ist. Geben Sie SelectMode.SelectWrite an, ob die Socket Schreibbar ist. Wird SelectMode.SelectError verwendet, um eine Fehlerbedingung zu erkennen. Poll blockiert die Ausführung, bis der angegebene Zeitraum, gemessen in microseconds, Verstrichen oder Daten verfügbar ist. Legen Sie den microSeconds Parameter auf eine negative ganze Zahl fest, wenn Sie auf unbestimmte Zeit auf eine Antwort warten möchten. Wenn Sie den Status mehrerer Sockets überprüfen möchten, sollten Sie die Select Methode verwenden.

Hinweis

Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen. Nachdem Sie diesen Code erhalten haben, finden Sie in der Windows Sockets Version 2-API-Fehlercodedokumentation eine detaillierte Beschreibung des Fehlers.

Hinweis

Diese Methode kann bestimmte Arten von Verbindungsproblemen nicht erkennen, z. B. ein fehlerhaftes Netzwerkkabel oder dass der Remotehost unauffällig heruntergefahren wurde. Sie müssen versuchen, Daten zu senden oder zu empfangen, um diese Arten von Fehlern zu erkennen.

Hinweis

Dieses Mitglied gibt Protokollierungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing in .NET Framework.

Weitere Informationen

Gilt für: