PING
sporty
Bonjour,

J'ai une application qui gère des replications et je fais un ping avant chaque traitement de replication, mon problème est que si le ping ne repond pas il est impossible de le stopper et cela bloque mon application. Quelqu'un aurait-il une idée pour faire un ping et le stopper au bout d'un seconde par exemple ? j'ai soumis le problème à PC-SOFT ils ne m'ont pas donnéer de réponse.

Merci d'avance et bon développement !

Contribution le : 08/12/2005 08:05
Créer un fichier PDF de la contribution Imprimer


Re: PING
Animateur WDF
Inscrit:
19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
Bonjour,

Voici une fonction ping qui ne vous bloquera pas :


FONCTION Gbl_Ping_adresseIP(IpHote_)

IpHote est une chaîne = IpHote_ // Par défaut
TimeOut est un entier 
retVal est un entier
hIcmp est un entier
SizeReply est un entier
ReplyData est un entier
IpAdress est un entier

IpAdress = AppelDLL32("Wsock32", "inet_addr", IpHote)
// Mauvaise adresse IP
SI IpAdress = 0xFFFFFFFF ALORS 
	RENVOYER  Faux
FIN

SizeReply = 255
TimeOut = 25
hIcmp = AppelDLL32("icmp", "IcmpCreateFile")

retVal = AppelDLL32("icmp", "IcmpSendEcho", hIcmp, IpAdress, 0, 0, Null, &ReplyData, SizeReply, TimeOut)
AppelDLL32("icmp", "IcmpCloseHandle", hIcmp)

RENVOYER retVal



Bon dév.,

Totof

Contribution le : 08/12/2005 08:21
_________________
[ Totof(Christophe LOGEL) réalise des développements spécifiques WinDev (Mon annonce wdforge), http://www.sigmasys.fr]
Créer un fichier PDF de la contribution Imprimer


Re: PING
Anonyme
Merci de ta réponse aussi rapide qu'efficace ! je ne suis pas super expert mais si tu as besoin d'info sur qq chose et si je peux te renseigner, non problem !
Bon développement !

Contribution le : 08/12/2005 09:26
Créer un fichier PDF de la contribution Imprimer


Re: PING
Bonjour,

autre alternative, que j'utilise maintenant et qui est beaucoup plus rapide et fonctionne même si le serveur ne répond pas au PING.

tu utilises les sockets, sachant que si tu fais un PING c'est pour savoir si la machine en face existe, si c'est pour le partage windows, tu mets m_port=139 etc...

Tu peux mettre également un temps d'attente sur socketconnecte

FUNCTION port_existe(m_port=3306,m_serveur="127.0.0.1")
// on regarde si le port existe sur le serveur
nretour est un booléen


SI PAS SocketConnecte("test",Val(m_port),m_serveur) ALORS
Erreur("Erreur Connexion","Vérifier si le port sur le serveur existe")
nretour=Faux
SINON
SocketFerme("test")
nretour=Vrai
FIN
RENVOYER nretour

Contribution le : 08/12/2005 10:23
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2