|
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
|
|
|
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
|
|
|
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
|
|
|
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
|
|
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.