Savoir si un serveur est UP via son port UDP
link15
-
nar6du14 Messages postés 459 Date d'inscription Statut Membre Dernière intervention -
nar6du14 Messages postés 459 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement entrain de faire un prog en C pour savoir si nos serveurs sont UP ou non, ces serveurs n'écoutent que des ports en UDP (serveur steam en l'occurence).
J'ai donc initialisé la connexion, envoyé un message du genre "ping" sur le port avec sendto (sans erreur) et j'essaie d'attendre une réponse du serveur (avec recvfrom) qui ne vient jamais.
Ce que j'aimerais faire, c'est de me faire parvenir par le serveur un message, d'erreur ou autre, pour que je puisse savoir si celui ci est UP, et dans le cas contraire, au bout d'un certain laps de temps, je lance un script pour le redémarrer.
Une idée ?
Je suis actuellement entrain de faire un prog en C pour savoir si nos serveurs sont UP ou non, ces serveurs n'écoutent que des ports en UDP (serveur steam en l'occurence).
J'ai donc initialisé la connexion, envoyé un message du genre "ping" sur le port avec sendto (sans erreur) et j'essaie d'attendre une réponse du serveur (avec recvfrom) qui ne vient jamais.
Ce que j'aimerais faire, c'est de me faire parvenir par le serveur un message, d'erreur ou autre, pour que je puisse savoir si celui ci est UP, et dans le cas contraire, au bout d'un certain laps de temps, je lance un script pour le redémarrer.
Une idée ?
A voir également:
- Savoir si un serveur est UP via son port UDP
- Tcp udp - Guide
- Changer serveur dns - Guide
- Port ping - Forum Réseau
- Serveur entrant et sortant - Guide
- Port icmp - Forum Réseau
3 réponses
Bonjour,
Pourquoi ne pas faire 2 applis client/serveur ?
Une appli qui tourne sur ton poste ou ailleurs qui attend et une appli qui tourne sur les serveurs qui leur demande de se manifester à intervalle défini.
Ton appli reçoit les infos et si un serveur ne se manifeste pas pendant x minutes/heures, elle lance ton script pour le redémarrer...
Pourquoi ne pas faire 2 applis client/serveur ?
Une appli qui tourne sur ton poste ou ailleurs qui attend et une appli qui tourne sur les serveurs qui leur demande de se manifester à intervalle défini.
Ton appli reçoit les infos et si un serveur ne se manifeste pas pendant x minutes/heures, elle lance ton script pour le redémarrer...
En fait, on a un serveur qui fait tourner des serveurs steam dessus, qui chacun utilise un port différent.
Donc techniquement, mon prog va être lancé depuis le serveur pour savoir si des serveurs lancé sur lui-même tournent.
Donc techniquement, mon prog va être lancé depuis le serveur pour savoir si des serveurs lancé sur lui-même tournent.
une sorte de keep alive??
tu définis un temporisateur i.e un laps de temps durant lequel tu attends une reponse du serveur si n'y a pas de réponse tu vas le redemarer??
bha à partir des socket:
tu crées une appli qui tournera sur ton serveur et qui enverra des paquets du style hello à intervalle régulier.
tu crées une appli pour ton client qui doit attendre l'arrivée de ces paquets. Si au bout d'un intervalle temps ( x fois plus grand que l'intervalle d'émission normale des paquets ) tu ne reçois pas de paquets (keepalive) alors ton serveur est down par exemple.
Une chose importante: tu dois synchroniser le client et le serveur pour qu'il se callent sur des intervalles d'émission communs. Pour cela il te faut une horloge commune aux deux (NTP par exemple). Tu les synchronises avec; la suite à toi de voir.
tu définis un temporisateur i.e un laps de temps durant lequel tu attends une reponse du serveur si n'y a pas de réponse tu vas le redemarer??
bha à partir des socket:
tu crées une appli qui tournera sur ton serveur et qui enverra des paquets du style hello à intervalle régulier.
tu crées une appli pour ton client qui doit attendre l'arrivée de ces paquets. Si au bout d'un intervalle temps ( x fois plus grand que l'intervalle d'émission normale des paquets ) tu ne reçois pas de paquets (keepalive) alors ton serveur est down par exemple.
Une chose importante: tu dois synchroniser le client et le serveur pour qu'il se callent sur des intervalles d'émission communs. Pour cela il te faut une horloge commune aux deux (NTP par exemple). Tu les synchronises avec; la suite à toi de voir.