LINUX.ORG.RU

повторение в python3 на фоне

 , ,


0

1

Есть подключение к сокету, каждые примерно 5 сек. нужно чекать или переподключать сокет, что бы видеть вновь подключенных юзеров. Решил воспользоватся злокачествонным «setTimeOut()» из js, но аналогом для любимого python. Погуглил и получил следующее - http://stackoverflow.com/questions/5179467/equivalent-of-setinterval-in-python
Попробовав это, у меня что то не задалось, так как пишу я гую с pyqt5.
У меня ничерта не вышло. В общем вопрос к спецам, как реализовать переподключение к сокету автоматически через опр. время, не замараживая процесс исполнения гуи тулзы...?

★★★

Последнее исправление: noname_user (всего исправлений: 1)

хз что ты хочешь, но посмотри на select.

anonymous
()

ты втираешь какуюто дичь.. юзеры подключаются к твоему сокету? тогда зачем его переподключать то? сдается мне, ты там какойто велосипед пишешь, не понимаю как устроено tcp...

genryRar ★★
()

У Qt собственный eventloop, так что your are doing it totally wrong.

QTimerClass, QLocalSocket, вот это всё, но на самом деле тебе нужен slot/signal.

aedeph_ ★★
()

не замараживая

У тебя гуй должен быть в отдельном треде и управлять остальным только через любой штатный/популярный queue

Shadow ★★★★★
()
Ответ на: комментарий от genryRar

не юзеры к сокету моему, а я подключаюсь к сокеты, происходят действия удаленно и мне нужно знать какие именно и обновлять гуй, например список юзеров активных

noname_user ★★★
() автор топика
Ответ на: комментарий от noname_user

окей, тогда ты невнятно обьяснил проблему.
итак есть какоето сильно специфичное апи, которое выдает инфу при подключении к нему, а не после получения входящего сообщения от клиента (тебя). так?

чтобы не замораживать гуй при работе с сокетами - используй потоки. только тебе нужен не нативный питоновский, а культявый qthread. поищи в гугле пример его использования совместно с сокетом, там все просто.

genryRar ★★
()
Ответ на: комментарий от genryRar

Ага понял, спасибо. Там либо при подключении получаю список пользователей, либо если команду отправлю

noname_user ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.