Здравствуйте,
Есть некое консольное приложение реализующее сервер на основе asyncore и asynchat. Сейчас появилась идея прикрутить к этому делу графическую оболочку на PySide (PyQt), которая будет осуществлять управление сервером и отображение статус соединений.
Собственно вопрос - как правильно осуществить это объединение, чтобы части не мешали друг другу. То есть, например, не происходило блокировок интерфейса и/или соединений. Стоит ли этого бояться?
Как я предполагаю - главный поток создает дополнительный поток (или лучше процесс из multiprocessing?) с помощью threading. Далее главный поток занимается обработкой сообщений окон PyQt. Дополнительный поток занимается только asyncore.loop(). В классах обрабатывающих сетевые соединения - нужно будет просто вырабатывать сигналы PyQt
Понимаю, что хорошо бы это все написать и самому проверить, благо не так много, но идти неправильным путем, чтобы потом постоянно подставлять костыли
P.S. Насколько жизнеспособен сокет-сервер на asyncore? Или, если проект вырастет нужно будет его переписывать на чем-то другом? В пределах питона или нет?
P.S.S. система на ubuntu 9.10, python 2.6