Задать вопрос
Ответы пользователя по тегу Python
  • Как проверить на подключение клиента по socket python?

    @mir546
    creator
    При каждой отправке пакетов обновлять переменную
    lastpacket = time.time() # дата крайней отправки пакета

    Далее в нужный момент делаем проверку
    if time.time() - lastpacket > 30: # отправки не было более 30 сек.
      self.log('connection timed out') # значит соединение можно считать разорванным

    Параллельно с этим(в отдельном потоке) каждые, например, 10 секунд отправляем Keep Alive:
    try:
      sock.send("\x05")  # отправляем любые данные
    except:
      self.log('connection timed out') # соединение разорвано
    time.sleep(10)

    Рабочее решение.
    Если есть решение лучше - скажите об этом.
    Ответ написан
    Комментировать