Добрый день. Подскажите, как получить переменную self.data из метода handle() в классе TCP_server_test(socketserver.BaseRequestHandler)? Пример взял из документации по socketserver. Спасибо.
import threading
import socketserver
class TCP_server_test(socketserver.BaseRequestHandler):
def handle(self):
self.data = str(self.request.recv(1024), 'utf-8')
if self.data:
thread = threading.current_thread()
response = bytes("Поток {} с номером {}: {}".format(thread.name, thread.ident, self.data), 'utf-8')
self.request.sendall(response)
print("Инфа клиента:", self.data)
# Проверка сколько запущенных потоков
print("Запущенные потоки")
for thread in threading.enumerate():
print(thread.name)
else:
print("Нет соединения с клиентом")
class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass
if __name__ == '__main__':
HOST, PORT = "127.0.0.1", 5000
server = ThreadedTCPServer((HOST, PORT), TCP_server_test)
#srv = TCP_server_test()
while server:
server_thread = threading.Thread(target=server.handle_request())
server_thread.daemon = True
server_thread.start()
#print(srv.data)