From 8a7755d6f96e599fe75ac8e5e1c6994138f4b99e Mon Sep 17 00:00:00 2001 From: gsmselftest Date: Wed, 16 Nov 2011 18:06:02 +0100 Subject: under Testing folder --- Under-Testing/Server-Code-New/PingClass.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Under-Testing/Server-Code-New/PingClass.py (limited to 'Under-Testing/Server-Code-New/PingClass.py') diff --git a/Under-Testing/Server-Code-New/PingClass.py b/Under-Testing/Server-Code-New/PingClass.py new file mode 100644 index 0000000..e13b32b --- /dev/null +++ b/Under-Testing/Server-Code-New/PingClass.py @@ -0,0 +1,28 @@ +import subprocess +import string + +class Ping: + + def __init__(self, pingAddress): + self.pingAddress = pingAddress + + def ping(self,numberTries): + tried = 1 + while numberTries >= tried: + tried += 1 + #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds + ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0] + + pingAlive = int(string.find(ping_cmd, '1 received')) + unknownHost = int(string.find(ping_cmd, 'unknown host')) + + + if pingAlive != -1: + break + + if unknownHost != -1: + return 2 #unknown host + if pingAlive != -1: + return 1 #ping works fine + else: + return 0 #no ping response -- cgit v1.2.3-55-g7522