9
votes

Python - Détecter si l'ordinateur distant est sur

Donc, j'ai une application en Python, mais je veux savoir si l'ordinateur (qui exécute l'application) est activé, à partir d'un autre ordinateur distant.

Y a-t-il un moyen de faire cela? Je pensais utiliser des paquets UDP pour envoyer une sorte de conservation, en utilisant un comptoir. Ex. Toutes les 5 minutes, le client envoie un paquet UDP 'Garder-Alive' sur le serveur. Merci d'avance!


3 commentaires

Je pense que votre idée est sur la bonne voie, qu'avez-vous essayé jusqu'à présent?


Soit le titre est trompeur ou vous voulez simplement détecter si votre application est en cours d'exécution. Si plus tard, tout type de pingage fera.


Je suis d'accord avec w / @ ma3x, cette question n'a vraiment pas beaucoup à faire avec python.


5 Réponses :


0
votes

Il semble que ce que vous recherchez est un outil de surveillance réseau / hôte ou simplement un simple moniteur de battement de coeur. Selon les spécificités (comme le nombre d'hôtes à surveiller), quelque chose comme nagios , munin ou Heartbeat pourrait aider.


0 commentaires

0
votes

Oui c'est la voie à suivre. genre d'envoi de ping-battement de coeur. Depuis son UDP et depuis son message d'en-tête, vous pouvez réduire la fréquence pour dire 10 secondes. Cela ne devrait pas provoquer de dégradation de système de système mesurable depuis ses 2 systèmes que nous parlons.

Je sens ici, UDP est peut-être mieux comparé à TCP. Sa léger, ne consomme pas beaucoup de ressources système et est théoriquement plus rapide. L'inconvénient serait qu'il pourrait y avoir une perte de paquets. Vous pouvez contourner cela en mettant une logique comme lorsque 10 paquets (espacés de 10 secondes) ne sont pas reçus consécutivement, déclarez-vous que l'autre système inaccessible.


1 commentaires

Hey c'était ma réponse :)



4
votes

Tout d'abord, vous devez savoir qu'il n'y a pas de moyen standard de déterminer si un ordinateur est activé ou non, ce qui n'est pas dépendant de la langue / de la plate-forme. Un ordinateur peut simuler n'importe quel état que vous essayez de vérifier.

mais la voie habituelle Pour vérifier si un ordinateur est activé est en train d'envoyer un Ping (demande ECHO ICMP). Cette réponse montre comment envoyer un ping à l'aide de Python.


0 commentaires

0
votes

Ajouter un serveur Web à votre application.

http://www.tornadoweb.org/en/stable/ http://webpy.org/


0 commentaires

21
votes

Si votre objectif est de tester si un service spécifique est exécuté sur la machine distante, vous pouvez tester si le port réseau que ce service devrait exécuter est accessible. Exemple: xxx

si l'application que vous souhaitez tester est conçue pour fonctionner par ex. Port 1337, puis vérifiez ce port.


0 commentaires