summaryrefslogtreecommitdiffstats
path: root/For Weekly Test/Old/07-07-2011/classClient.py
diff options
context:
space:
mode:
authorgsmselgtest2011-09-02 14:03:42 +0200
committergsmselgtest2011-09-02 14:03:42 +0200
commit4e27bfa0dff3c328ae8db1b119f089afe02acc83 (patch)
treec8aa12210f176c420c59ecdae7929ae63b269c5e /For Weekly Test/Old/07-07-2011/classClient.py
parentMerge branch 'master' of lab.ks.uni-freiburg.de:lsfks/projekte/gsm-selftest (diff)
downloadgsm-selftest-4e27bfa0dff3c328ae8db1b119f089afe02acc83.tar.gz
gsm-selftest-4e27bfa0dff3c328ae8db1b119f089afe02acc83.tar.xz
gsm-selftest-4e27bfa0dff3c328ae8db1b119f089afe02acc83.zip
rearange test file
Diffstat (limited to 'For Weekly Test/Old/07-07-2011/classClient.py')
-rw-r--r--For Weekly Test/Old/07-07-2011/classClient.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/For Weekly Test/Old/07-07-2011/classClient.py b/For Weekly Test/Old/07-07-2011/classClient.py
new file mode 100644
index 0000000..ce02d19
--- /dev/null
+++ b/For Weekly Test/Old/07-07-2011/classClient.py
@@ -0,0 +1,66 @@
+import socket
+import sys
+import os
+import string
+
+class Connection:
+ def __init__(self, h, p):
+ self.host = h
+ self.port = p
+ self.s = None
+ self.connected = 0
+
+ def connect(self):
+ self.s = None
+
+ alive = self.ping()
+ if alive == 0:
+ return 'The machine is not alive'
+ for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
+ af, socktype, proto, canonname, sa = res
+ try:
+ self.s = socket.socket(af, socktype, proto)
+ self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
+ except socket.error, msg:
+ self.s = None
+ self.connected = 0
+ continue
+ try:
+ self.s.connect(sa)
+ except socket.error, msg:
+ self.s.close()
+ self.connected = 0
+ self.s = None
+ continue
+ break
+ if self.s is None:
+ self.connected = 0
+ return 'Could not open socket'
+ else:
+ self.connected = 1
+ return 'Connected'
+
+ def sendData(self, data):
+ if self.connected == 1:
+ self.s.send(data)
+
+ def receiveData(self):
+ if self.connected == 1:
+ return self.s.recv(1024)
+ else:
+ return 'Not connected'
+
+ def closeConnection(self):
+ if self.connected == 1:
+ self.s.close()
+ self.connected = 0
+ return 'Closed'
+
+ def ping(self):
+ ping_cmd = os.popen('ping '+ self.host + ' -c 1 -W 1').read()
+ pingAlive = int(string.find(ping_cmd, '1 received'))
+ if pingAlive != -1:
+ return 1
+ else:
+ return 0
+