-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathclient.py
28 lines (24 loc) · 846 Bytes
/
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
import socket
import config
from function.method import *
from function.requestHandler import getHostAndRoute
from threading import Thread
from datetime import datetime
def createAConnection(LINK, index):
HOST, _ = getHostAndRoute(LINK)
socket.getaddrinfo(HOST,config.PORT)
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
now = datetime.now().time()
print(f'Socket {index} created at: {now}')
client.settimeout(config.TIMEOUT_DEFAULT)
try:
makeRequest(client, LINK)
except Exception:
print("Download Failed...")
client.close()
now = datetime.now().time()
print(f'Socket {index} disconnected at: {now}')
# Multiple connection in parallel
for index, LINK in enumerate(config.LINKS):
thread = Thread(target=createAConnection, args=(LINK, index + 1, ))
thread.start()