Socket.Poll Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
truesi 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
truesi le traitement d’une Connect connexion a réussi ou si les données peuvent être envoyées. - Pour SelectError, elle retourne
truesi 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
truesi 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
truesi le traitement d’une Connect connexion a réussi ou si les données peuvent être envoyées. - Pour SelectError, elle retourne
truesi 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.