Добрый день.
На линукс стоит Python3.6.9 - код отрабатывает как нужно.
На виндовс Python3.8.2 - ошибка [Errno 11001] getaddrinfo failed.
Почему так ?
def timeout_try_1(ip,port,timeout):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(timeout)
try:
connect = sock.connect((ip,int(port)))
print(ip.rstrip('\r\n') + ' ' + port)
write_ip_in_file(port, ip)
connect.close()
except socket.timeout:
t2 = threading.Thread(target = timeout_try_2, args = (ip, port, float('0.1')))
t2.start()
t2.join(0.01)
except Exception as e:
print(e)
def timeout_try_2(ip, port, timeout):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(timeout)
try:
connect = sock.connect((ip,int(port)))
print(ip.rstrip('\r\n') + ' ' + port)
write_ip_in_file(port, ip)
connect.close()
except socket.timeout:
pass
except Exception as e:
print(e)
for port in ports:
file_result_ips = open('result_ips.txt', 'r')
for ip in file_result_ips:
t1 = threading.Thread(target = timeout_try_1, args = (ip, port, float('0.01')))
t1.start()
t1.join(0.001)
Ошибка:
connect = sock.connect((ip,int(port)))
socket.gaierror: [Errno 11001] getaddrinfo failed
Перенастраивал таймауты - не помогает . Отключал Firewall - тоже.