-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathclient.py
95 lines (74 loc) · 3.43 KB
/
client.py
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
88
89
90
91
92
93
94
95
import argparse
import threading
from connection import Connection
import clientUI
DEFAULT_CLIENT_IP_ADDRESS = '0.0.0.0'
DEFAULT_CLIENT_PORT_NUMBER = 1123
DEFAULT_CONTROLLER_IP_ADDRESS = '192.168.1.3'
DEFAULT_CONTROLLER_PORT_NUMBER = 5813
DEFAULT_BUFFER_SIZE = 1024
class Client:
def __init__(self, client_ip_address, client_port_number,
controller_ip_address, controller_port_number,
buffer_size):
self.client_ip_address = client_ip_address
self.client_port_number = client_port_number
self.controller_ip_address = controller_ip_address
self.controller_port_number = controller_port_number
self.buffer_size = buffer_size
self.connection = None
self.connection_thread = None
clientUI.main(self)
def open_connection(self):
self.connection = Connection(self.client_ip_address, self.client_port_number,
self.controller_ip_address, self.controller_port_number,
self.buffer_size)
self.connection_thread = threading.Thread(name='connectionThread', target=self.run)
self.connection_thread.daemon = True
self.connection_thread.start()
def send_message(self, message):
self.connection.send(message)
def run(self):
while True:
message_received = self.connection.get_message()
if message_received is not None:
pass
def close_connection(self):
try:
self.connection_thread.stop = True
self.connection.close_local_socket()
except AttributeError:
pass
def shutdown(self):
try:
self.connection_thread.stop = True
self.connection.close_local_socket()
except AttributeError:
pass
def main(client_ip_address, client_port_number,
controller_ip_address, controller_port_number,
buffer_size):
return Client(client_ip_address, client_port_number,
controller_ip_address, controller_port_number,
buffer_size)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-cip', '--clientIPAddress', help='client IP address',
required=False, default=DEFAULT_CLIENT_IP_ADDRESS)
parser.add_argument('-cpn', '--clientPortNumber', help='client port number',
required=False, type=int, default=str(DEFAULT_CLIENT_PORT_NUMBER))
parser.add_argument('-kip', '--controllerIPAddress', help='controller IP address',
required=False, default=DEFAULT_CONTROLLER_IP_ADDRESS)
parser.add_argument('-kpn', '--controllerPortNumber', help='controller port number',
required=False, type=int, default=str(DEFAULT_CONTROLLER_PORT_NUMBER))
parser.add_argument('-bs', '--bufferSize', help='buffer size',
required=False, type=int, default=str(DEFAULT_BUFFER_SIZE))
args = parser.parse_args()
print ('Client Ip Address:'), args.clientIPAddress
print ('Client Port Number:'), args.clientPortNumber
print ('Controller Ip Address:'), args.controllerIPAddress
print ('Controller Port Number:'), args.controllerPortNumber
print ('Buffer Size:'), args.bufferSize
main(args.clientIPAddress, args.clientPortNumber,
args.controllerIPAddress, args.controllerPortNumber,
args.bufferSize)