Я пытаюсь создать функцию, чтобы проверить, работает ли сервер, к которому я подключаюсь, вверх или вниз. Я могу успешно подключиться к серверу и смоделировать, что произойдет, когда сервер исправен, но для имитации того, что произойдет, когда сервер не работает, я ввел неправильный номер порта, например, так:
client = mqtt.Client()
#I have a defined on_connect function
client.on_connect = on_connect
#Correct port number
#client.connect(url, 1883)
#Wrong port number
client.connect(url, 2000)
#Check if connection works with a small delay
client.loop_start()
sleep(4)
client.loop_stop()
Код запускается мгновенно, когда номер порта правильный.
Но если номер порта неверен (или сервер не работает), это займет примерно 5 минут. Я хотел ускорить это, потому что целью этого кода является только проверка, работает ли сервер или нет.
Я экспериментировал с keepAlive и установил его на уровне 0,2, но, похоже, это не сильно на него влияет.
Как установить тайм-аут, чтобы, если он не получил ответ, скажем, в течение 4 секунд, он просто вернулся (не подключен)?