Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2008 18:08:17

andor
От:
Зарегистрирован: 2008-09-23
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

начало изучения Python процессы

Всем привет.
Имея некоторый уровень скриптования на интерпретируемых языках решил попробывать свои силы в Питоне.
Планирую написать свой консольный вариант джаббер клиента используя доступные библиотеки.

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

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

ps. все свои опыты провожу на WIN XP если это имеет значение.



Офлайн

#2 Сен. 23, 2008 18:41:38

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

начало изучения Python процессы

Примерно правильно.
Если сильно упрощать, то да, с точки зрения программиста, есть 2 варианта.
1. Бесконечный цикл.
2. Событийная модель (GUI интерфейс, это как раз частный случай такого варианта, но совсем не обязательный). В этом случае цикл (или типа того) скрыто от программиста - и он имеет дело с так называемыми событиями или кол-беками. В этом случае ты описываешь, что при определенного события, вызовется такая-то функция (например при событии “пришло сообщение” вызывается функция “отобразить сообщение на экране”).



Отредактировано (Сен. 23, 2008 18:41:51)

Офлайн

#3 Сен. 23, 2008 18:47:01

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

начало изучения Python процессы

Если ты не будешь писать с нуля реализацию протокола XMPP, а воспользуешься готовой библиотекой, то в нее скорее всего уже будет заложен некоторый шаблон архитектуры приложения. Думаю что им и надо воспользоваться =).



Отредактировано (Сен. 23, 2008 19:06:46)

Офлайн

#4 Сен. 23, 2008 18:56:02

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

начало изучения Python процессы

Глянул одним глазом, на доступные либы:
http://jabberpy.sourceforge.net/ здесь вроде подразумевается событийная модель
http://xmpppy.sourceforge.net/ - здесь наверное придется цикл делать
http://code.google.com/p/sleekxmpp/ - здесь тоже событийная
http://pyxmpp.jajcus.net/ - и здесь кажется тоже событийная



Офлайн

#5 Сен. 24, 2008 09:28:55

andor
От:
Зарегистрирован: 2008-09-23
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

начало изучения Python процессы

shiza
Большое спасибо за столь подробные ответы. В общем то я был на правильном пути.
из готовых библиотек думаю использовать twisted (реализация сетевых протоколов), в нем вроде как имеется тимплейт архитектуры



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version