@plyshk1n2k

Есть ли альтернатива QTimer pyqt5?

Подключаюсь к вебсокету через websockets python и в цикле слушаю сервер, но еще нужно через каждые 60 сек отправлять "websocket.send('online')". поэтому придумал функцию, в которую передаю текущее подключение и через неё отправляю "websocket.send('online')". Я решил использовать для этих целей QTimer(в котором и будет происходить обращение к серверу) ,но при запуске таймера появляется ошибка - "object NoneType can't be used in 'await' expression".

Прошу совет, в какую сторону гуглить, или же предложите альтернативу QTimer.

Отрывок кода:
async def hello(self):
        try:
            while True:
                print('попытка подключиться к серверу')
                try:
                    get_auth = requests.get(
                        'https://market.csgo.com/api/GetWSAuth/?key=***').text
                    auth_key = json.loads(get_auth)['wsAuth']
                    print('Успешно подключились')
                    break
                except BaseException as err:
                    print('Неудача следующая попытка через 60 сек...')
                    self.msleep(60000)
            uri = "wss://wsn.****"
            async with websockets.connect(uri) as websocket:
                await websocket.send(auth_key)
                # Запускаем QTIMER КОТОРЫЙ БУДЕТ ЗАПУСКАТЬ ФУНКЦИЮ ДЛЯ ОТПРАВКИ PING
                await self.timer_ping.start(60000)
                 #Цикл в котором слушаем сервер
                 while True:
                    print('зашли в цикл')
                    greeting = await websocket.recv()
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
Zifix
@Zifix
Barbatum
Я не пишу на Python, но:

Вы если используете QTimer, то используйте и вебсокеты из состава Qt. Если используете левую реализацию, то и таймер используйте не из Qt, например так.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы