Логическое значение, если telnet получает данные

#python-3.x #telnetlib

Вопрос:

Я автоматизирую стресс-тестирование, подключения по телетайпу. У меня открыто много сеансов telnet, и я отправляю данные клиенту с сервера. Есть ли способ определить, получает ли клиент данные?

terminals.py

 import telnetlib

class Terminal:

    def __init__(self, host, port):
        self.host = host
        self.port = port

    def listen_for_signal(self):

        tn = telnetlib.Telnet(self.host, 3215, 90)
        tn.set_debuglevel(1)

        tn.read_until(b"Name:")
        tn.write(self.port.encode('ascii')   b"rn")
        tn.read_all()
 

main.py

 from Terminal import Terminal
import threading

ports = ['000', '001']
HOST = "IP.address"

threads = {}
terminals = {}
for port in ports:
    try:
        terminals[port] = Terminal(HOST, port)
        threads[port] = threading.Thread(
            target=terminals[port].listen_for_signal, daemon=True)
        threads[port].start()  # start thread
    except:
        pass

while True:
    pass
 

Я могу получить вывод клиентских подключений. Но мне нужно убедиться, что данные, поступающие по каждому соединению, активны. Есть ли способ проверить, является ли соединение активным и получает ли передаваемые данные? Мне действительно не нужно проверять, что это за данные, просто они передаются.

Я пытался сохранить tn.read_all() в файл, но он блокирует соединение.

Я действительно не могу использовать многопроцессорную обработку, так как мне нужно больше терминалов, чем у меня ядер.