Код: Выделить всё
#!/usr/bin/python3
import socket
import threading
import concurrent.futures
threads = []
def listen_on_port(port):
HOST = '' # Symbolic name meaning all available interfaces
PORT = int(port) # Arbitrary non-privileged port
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print(addr,conn)
def main(ports):
with concurrent.futures.ThreadPoolExecutor() as executor:
for port in ports:
executor.submit(listen_on_port,port)
if __name__ == '__main__':
main(ports=[50010,50020,50030])
Но я хотел бы сделать два улучшения: 1) заставить потоки умирать через X секунд, 2) запускать потоки в фоновом режиме, как демоны, чтобы мой сценарий завершился и оставил потоки работающими.
Что я могу попробовать следующий?
Подробнее здесь: https://stackoverflow.com/questions/714 ... nt-of-time
Мобильная версия