Найти - Пользователи
Полная версия: Взаимодействие с twisted.internet.reactor
Начало » Network » Взаимодействие с twisted.internet.reactor
1
boh
Пытаюсь разобраться с Twisted, в часности его работой с XMPP. В связи с этим возникает вопрос:
Мне нужно принимать/отсылать сообщения с помощью джаббер-клиента twisted.
http://pastebin.com/m71225776
Не совсем понятно, как взаимодействовать с этим клиентом из вне, если все его действия определяются “внутри” обработчиками событий. Можно создавать свои события? Укажите направление, пожалуйста.
Андрей Светлов
Не совсем понятно, что именно вы хотите. Можете сформулировать вопрос более развернуто?
boh
Андрей Светлов
Не совсем понятно, что именно вы хотите. Можете сформулировать вопрос более развернуто?
После запуска реактора мой клиент может ловить сообщения, но как мне отправить с его помощью сообщение, если необходимость в отправке не связана с событиями 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
bw
> вместо addCallback/addErrback приятней использовать twisted.internet.defer.inlineCallbacks
Очень субъективное мнение.

..bw
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