cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009
-
12 déc. 2004 à 22:25
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009
-
21 juil. 2005 à 12:26
Voilà, je suis en train de terminer un programme client/serveur et je m'occuper actuellement de géréles erreur.
Mais problèmes sont :
1- Lorsque que je ne connect avec .Connect(EndPoint), si l'addresse n'est pas bonne il met beaucoup de temps a afficher une erreur. Je voudrais povoir faire un ping afin de vérifier la connection, est-ce que vous avez une idée ?
2- par ailleurs, si mon serveur se déconnecte, le programme client ne le sait pas et donc se bloque, il y a t il un moyen de tester la connection ?
> voilà (parmis tant d'autre) les questions que se pose un débutant.
Merci d'avance pour votre future aide,
[mailto:gomoz@free.fr Gomoz]
PierreCSharp63
Messages postés7Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention26 mars 2008 21 juil. 2005 à 10:59
en cherchant une solution à min pb de timeout de connexion trop long,
je suis tombé sur ce mail. J'ai une solution, mais j'espèrais trouver
mieux.
Il faut faire un s.BeginConnect() sans s'occuper du restour de fonction
( et donc pas de endConnect()) puis faire une tempo ds une boucle (
pour ne pas attendre même si on est connecté ) en surveillant si on est
connecté. s.Connected.
Pour la seconde question, du coté de mon serveur j'utilise un thread qui effectue toutes les X secondes ce controle :
if (s !null && s.Poll(5, SelectMode.SelectRead) && s.Available 0)
(s etant une instance de la classe Socket)
Ceci a pour effet de savoir quel client a été deconnecté "sauvagement" (plantage, etc).
Je pense donc que si tu implémente ceci du coté de ton client, il saura quand le serveur s'est fermé :)
Je te tiens au courant si je trouve une bonne solution a ta premiere question.