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

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

Votre réponse

4 réponses

Meilleure réponse
Messages postés
7
Date d'inscription
jeudi 21 juillet 2005
Dernière intervention
26 mars 2008
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de PierreCSharp63
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
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
Messages postés
135
Date d'inscription
mardi 22 avril 2003
Dernière intervention
23 décembre 2009
0
Merci
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
Messages postés
135
Date d'inscription
mardi 22 avril 2003
Dernière intervention
23 décembre 2009
0
Merci
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.