-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclient.py
More file actions
87 lines (72 loc) · 2.61 KB
/
Copy pathclient.py
File metadata and controls
87 lines (72 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
__author__ = 'sertug'
import json
import socket
import threading
import time
import server
class HeartBeatThread(threading.Thread):
def __init__(self, username):
threading.Thread.__init__(self)
self.__clientsocket = socket.socket()
self.__serverAddress = socket.gethostname()
self.__serverPort = server.SERVER_PORT
self.__username = username
def __del__(self):
self.__clientsocket.close()
def connect(self):
self.__clientsocket.connect((self.__serverAddress, self.__serverPort))
print("internal client connected....")
def send(self, data):
print "internal sending"
self.__clientsocket.send(data)
def run(self):
self.connect()
while True:
print "heartbeat sending"
data = {'code': 'CHBEAT', 'username': self.__username}
self.__clientsocket.send(json.dumps(data))
time.sleep(5)
class Client(threading.Thread):
__exitFlag = 0
def __init__(self):
threading.Thread.__init__(self)
self.__serverPort = server.SERVER_PORT
self.__bufferSize = server.BUFFER_SIZE
self.__clientsocket = socket.socket()
self.__serverAddress = socket.gethostname()
#self.__beatThread = HeartBeatThread(username)
def __del__(self):
self.__clientsocket.close()
def run(self):
self.__clientsocket.connect(('', self.__serverPort))
print("Connected....")
while not Client.__exitFlag:
#self.__beatThread.run()
userinput = self.getInput()
request = self.parseinput(userinput)
response = self.sendrequest(request)
print response
def getInput(self):
return raw_input(">")
def disconnect(self):
self.__clientsocket.close()
def sendrequest(self, request):
self.__clientsocket.send(request)
response = self.__clientsocket.recv(1024)
response = json.loads(response)
return response
def parseinput(self, userinput):
userCode = userinput[0:6]
userData = userinput[7:]
userDataList = userData.split()
data = ""
if userCode == "CCNREQ" or userCode == "CPLREQ" or userCode == "CGUREQ" or userCode == "CWRREQ" or userCode == "CLGREQ":
data = {'code': userCode, 'username': userDataList[0]}
elif userCode == "CMVREQ":
data = {'code': userCode, 'username': userDataList[0], 'move': userDataList[1]}
return json.dumps(data)
if __name__ == "__main__":
clientObj = Client()
clientObj.start()
clientObj.join()
print "Client closed!"