Partager via


Socket.Poll Méthode

Définition

Surcharges

Nom Description
Poll(TimeSpan, SelectMode)

Détermine l’état du Socket.

Poll(Int32, SelectMode)

Détermine l’état du Socket.

Poll(TimeSpan, SelectMode)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Détermine l’état du 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

Paramètres

timeout
TimeSpan

Délai d’attente d’une réponse.

mode
SelectMode

Une des SelectMode valeurs.

Retours

État de la Socket valeur en mode d’interrogation passée dans le mode paramètre. Retourne true si l’une des conditions suivantes se produit avant l’expiration timeout , sinon false.

  • Pour SelectRead, elle retourne true si Listen() elle a été appelée et qu’une connexion est en attente, si les données sont disponibles pour la lecture ou si la connexion a été fermée, réinitialisée ou arrêtée.
  • Pour SelectWrite, elle retourne true si le traitement d’une Connect connexion a réussi ou si les données peuvent être envoyées.
  • Pour SelectError, elle retourne true si le traitement d’un Connect élément qui ne bloque pas et que la connexion a échoué, ou si OutOfBandInline elle n’est pas définie et les données hors bande sont disponibles.
  • Sinon, falseest retourné.

Exceptions

timeout est inférieur à -1 millisecondes ou supérieur à MaxValue millisecondes.

Une erreur s’est produite lors de la tentative d’accès au socket.

Il Socket a été fermé.

S’applique à

Poll(Int32, SelectMode)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Détermine l’état du 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

Paramètres

microSeconds
Int32

Temps d’attente d’une réponse, en microsecondes.

mode
SelectMode

Une des SelectMode valeurs.

Retours

État de la Socket valeur en mode d’interrogation passée dans le mode paramètre.

  • Pour SelectRead, elle retourne true si Listen() elle a été appelée et qu’une connexion est en attente, si les données sont disponibles pour la lecture ou si la connexion a été fermée, réinitialisée ou arrêtée.
  • Pour SelectWrite, elle retourne true si le traitement d’une Connect connexion a réussi ou si les données peuvent être envoyées.
  • Pour SelectError, elle retourne true si le traitement d’un Connect élément qui ne bloque pas et que la connexion a échoué, ou si OutOfBandInline elle n’est pas définie et les données hors bande sont disponibles.
  • Sinon, falseest retourné.

Exceptions

Le mode paramètre n’est pas l’une des SelectMode valeurs.

Une erreur s’est produite lors de la tentative d’accès au socket. Consultez les remarques ci-dessous.

Il Socket a été fermé.

Exemples

L’exemple de code suivant crée un socket, se connecte à un serveur et utilise Poll pour vérifier l’état du socket.

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

Remarques

La Poll méthode vérifie l’état du Socket. Spécifiez SelectMode.SelectRead le selectMode paramètre pour déterminer si le Socket paramètre est lisible. Spécifiez SelectMode.SelectWrite pour déterminer si l’écriture Socket est accessible en écriture. Permet SelectMode.SelectError de détecter une condition d’erreur. Poll bloque l’exécution jusqu’à ce que la période spécifiée, mesurée en microseconds, s’écoule ou que les données soient disponibles. Définissez le microSeconds paramètre sur un entier négatif si vous souhaitez attendre indéfiniment une réponse. Si vous souhaitez vérifier l’état de plusieurs sockets, vous préférerez peut-être utiliser la Select méthode.

Note

Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.

Note

Cette méthode ne peut pas détecter certains types de problèmes de connexion, tels qu’un câble réseau défectueux, ou que l’hôte distant a été arrêté de manière incorrecte. Vous devez tenter d’envoyer ou de recevoir des données pour détecter ces types d’erreurs.

Note

Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

Voir aussi

S’applique à