Найти - Пользователи
Полная версия: начало изучения Python процессы
Начало » Python для экспертов » начало изучения Python процессы
1
andor
Всем привет.
Имея некоторый уровень скриптования на интерпретируемых языках решил попробывать свои силы в Питоне.
Планирую написать свой консольный вариант джаббер клиента используя доступные библиотеки.

Очень прошу помочь разобраться с тем, как запускать скрипты и что бы они не умирали, т.е. висели как этакий процесс принимающий (для начала) сообщения от друзей по джабберу.
Все что мне приходит в голову это начать свой скрипт с цикла не имеющего точки выхода для поддержания работы скрипта и параллельно работать с библиотеками которые будут помогать мне принимать и обрабатывать сообщения. Этот скрипт я видимо запуская в консоли Питона.

В правильном ли направлении я думаю?
Так же был вариант взять библиотеки русующие GUI и создав новое окошко, даже если и пустое мы автоматически получаем не умирающий процесс.

ps. все свои опыты провожу на WIN XP если это имеет значение.
shiza
Примерно правильно.
Если сильно упрощать, то да, с точки зрения программиста, есть 2 варианта.
1. Бесконечный цикл.
2. Событийная модель (GUI интерфейс, это как раз частный случай такого варианта, но совсем не обязательный). В этом случае цикл (или типа того) скрыто от программиста - и он имеет дело с так называемыми событиями или кол-беками. В этом случае ты описываешь, что при определенного события, вызовется такая-то функция (например при событии “пришло сообщение” вызывается функция “отобразить сообщение на экране”).
shiza
Если ты не будешь писать с нуля реализацию протокола XMPP, а воспользуешься готовой библиотекой, то в нее скорее всего уже будет заложен некоторый шаблон архитектуры приложения. Думаю что им и надо воспользоваться =).
shiza
Глянул одним глазом, на доступные либы:
http://jabberpy.sourceforge.net/ здесь вроде подразумевается событийная модель
http://xmpppy.sourceforge.net/ - здесь наверное придется цикл делать
http://code.google.com/p/sleekxmpp/ - здесь тоже событийная
http://pyxmpp.jajcus.net/ - и здесь кажется тоже событийная
andor
shiza
Большое спасибо за столь подробные ответы. В общем то я был на правильном пути.
из готовых библиотек думаю использовать twisted (реализация сетевых протоколов), в нем вроде как имеется тимплейт архитектуры
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB