Vérifier la connection et le ping [Résolu]

cs_gomoz 135 Messages postés mardi 22 avril 2003Date d'inscription 23 décembre 2009 Dernière intervention - 12 déc. 2004 à 22:25 - Dernière réponse : cs_gomoz 135 Messages postés mardi 22 avril 2003Date d'inscription 23 décembre 2009 Dernière intervention
- 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]
Afficher la suite 

4 réponses

Répondre au sujet
PierreCSharp63 7 Messages postés jeudi 21 juillet 2005Date d'inscription 26 mars 2008 Dernière intervention - 21 juil. 2005 à 10:59
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de PierreCSharp63
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 13 déc. 2004 à 09:17
0
Utile
Salut,

Pour ta première question, je vais me pencher dessus, j'aurais bien besoin de cette solution aussi.
En fait, il y a bien

 this.socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 1000);


Mais ca ne marche pas... :/

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.

a++

MX
Commenter la réponse de MorpionMx
cs_gomoz 135 Messages postés mardi 22 avril 2003Date d'inscription 23 décembre 2009 Dernière intervention - 13 déc. 2004 à 23:19
0
Utile
merci déjà pour la deusième option, sinon c'est daccord, lorsqu'il y a une solution de trouvé pour la 1, on s'en fait part ;)

[mailto:gomoz@free.fr Gomoz]
Commenter la réponse de cs_gomoz
cs_gomoz 135 Messages postés mardi 22 avril 2003Date d'inscription 23 décembre 2009 Dernière intervention - 21 juil. 2005 à 12:26
0
Utile
en effet pas bete.

[mailto:gomoz@free.fr Gomoz]
Commenter la réponse de cs_gomoz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.