Как сделать выполнение цикла на определенное время?
У меня есть база сокет сервера на питоне. Мне нужно что бы пакеты которые принимает сервер шли не больше чем в установленный срок. Пакеты, как мне известно, можно принять путем некого цикла client.recv( bites ). Такой цикл заставляет код остановится и не выполнятся до тех пор, пока он не получит какую либо дату в ответ. Из этого и проблема. Если мне нужно принять пакет в течении трех секунд, я вынужден запустить цикл, который будет работать до тех пор, пока не получит пакет. Время ожидания увеличивается во много раз, ведь код не будет выполнятся дальше, пока не получит какую либо дату от клиента. А после соответственно проверяется стоит ли уже обрабатывать дату, или время на ее принятие вышло. В этом и проблема. Как можно сделать паралельную обработку client.recv(...) с условием, что функция прекратит свое выполнение если время жизни пакета истекло? Пытался изучить библиотеку multiprocessing, но как то не понял как она будет выполнять два процесса одновременно, один из которых будет являтся бесконечно повторяющейся функцией, ведь следующий процесс не выполнится до тех пор, пока не завершится client.recv(...), т. е пока не получит дату.
через библиотеку time попробуй.
import time
while client = TRUE:
proshlo.time()
if proshlo < "твоё время":
твой код
если я правильно понял твой вопрос, то тебе нужно смотреть в сторону асинхронного программирования.