Repository navigation
Expand file tree
/
Copy pathsocket_client.py
More file actions
59 lines (48 loc) · 1.91 KB
/
Copy pathsocket_client.py
File metadata and controls
59 lines (48 loc) · 1.91 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
import socket
import sys
class Socket_Client:
def __init__(self,type, port):
self.server_address = (socket.gethostname(), port)
if type.upper() == "UDP":
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.sock.connect(self.server_address)
def get_udp(self,message):
self.sock.sendto(message.encode(encoding='utf_8'),self.server_address)
data, address = self.sock.recvfrom(1024)
self.sock.close()
return data.decode()
def get_udp(self,message):
self.sock.sendall(message.encode(encoding='utf_8'))
response = self.sock.recv(1024).decode()
self.sock.close()
return response
def send_filename_udp(self,message,filename):
self.sock.sendto(message.encode(encoding='utf_8'), self.server_address)
data, address = self.sock.recvfrom(1024)
print(data)
# buf = 1024
# self.sock.sendto(filename.encode(encoding='utf_8'), self.server_address)
# f = open(filename, "rb")
# data = f.read(buf)
# while (data):
# if (self.sock.sendto(data, self.server_address)):
# data = f.read(buf)
# self.sock.close()
# f.close()
def manage_client_requests(self):
try:
# Send data
message = 'It always seems impossible until it's done" - Nelson Mandela'
print('sending "%s"' % message)
self.sock.sendall(message.encode(encoding='utf_8'))
# Look for the response
amount_received = 0
amount_expected = len(message)
while amount_received < amount_expected:
data = self.sock.recv(16)
amount_received += len(data)
print('received "%s"' % data)
finally:
print('closing socket')
self.sock.close()
#newClient = Socket_Client('127.0.0.1',6868,"UDP")