Question

    

Cette question a déjà une réponse ici:

         

J'ai une application qui se connecte à un hôte en panne. Si l'hôte est en panne, je ne veux pas attendre les 30 secondes environ, il faut attendre. J'utilise des prises de blocage pour le moment.

J'ai examiné socket.poll () et socket.select () mais je préférerais simplement avoir un réglage de l'heure sur le socket. Cela ne me dérange pas si c'est un paramètre que je dois faire quelque part dans le système. De plus, il semblait que je comprenais que les sondages et les sélections ne fonctionnaient pas avec une communication orientée connexion - est-ce correct?

Si cela est absolument impossible, quel est le bon moyen d'obtenir les résultats souhaités en utilisant poll, select ou une autre technique?

Était-ce utile?

La solution

Voir BeginConnect et Présentation de la programmation asynchrone

IAsyncResult asr = socket.BeginConnect( ip, port, null, null );

bool res = asr.AsyncWaitHandle.WaitOne( 10000, true );  // 10 sec timeout

Mise à jour: il existe un meilleur exemple ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top