Форум сайта python.su
Пытаюсь разобраться с Twisted, в часности его работой с XMPP. В связи с этим возникает вопрос:
Мне нужно принимать/отсылать сообщения с помощью джаббер-клиента twisted.
http://pastebin.com/m71225776
Не совсем понятно, как взаимодействовать с этим клиентом из вне, если все его действия определяются “внутри” обработчиками событий. Можно создавать свои события? Укажите направление, пожалуйста.
Офлайн
Не совсем понятно, что именно вы хотите. Можете сформулировать вопрос более развернуто?
Офлайн
Андрей СветловПосле запуска реактора мой клиент может ловить сообщения, но как мне отправить с его помощью сообщение, если необходимость в отправке не связана с событиями twisted - т.е. не имеет обработчика?
Не совсем понятно, что именно вы хотите. Можете сформулировать вопрос более развернуто?
Офлайн
Так сделайте что-то вроде:
iq = xmlstream.IQ(self.stream)
iq.addChild(request_xml)
d = iq.send(self_jid.full())
d.addCallback(on_reply)
d.addErrback(on_error)
вместо addCallback/addErrback приятней использовать twisted.internet.defer.inlineCallbacks
Офлайн
> вместо addCallback/addErrback приятней использовать twisted.internet.defer.inlineCallbacks
Очень субъективное мнение.
..bw
Офлайн