Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 27, 2008 14:55:00

andr0s
От:
Зарегистрирован: 2008-11-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка ICQ-сообщений из loop'a

Здравствуйте. Мне необходимо реализовать отправку ICQ-сообщений в демоне. Демон этот получает данные для отправки по сокетам. Вопрос: как реализовать в таком случае отправку сообщений? Насколько я понимаю из официального примера twisted, для того чтобы работать с icq, необходимо запускать reactor.run. А цикл для приема входных данных с сокетов должен быть отдельным!
Пожалуйста, напишите как можно более понятный ответ. К сожалению я недавно программирую на Питоне, а с Twisted не работал вообще. Если есть какие-то другие _рабочие_ способы отправлять до 5 сообщений в секунду из Python, я буду благодарен и за такой ответ.
Заранее спасибо!



Офлайн

#2 Ноя. 27, 2008 16:14:36

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Отправка ICQ-сообщений из loop'a

Спамер?



Офлайн

#3 Ноя. 27, 2008 16:37:55

andr0s
От:
Зарегистрирован: 2008-11-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка ICQ-сообщений из loop'a

ICQ-уведомления. 5 сообщений в секунду там скорее всего не будет никогда. Однако невозможно распределить нагрузку, т.е. может отправляться одно сообщение в 2 часа, а может и несколько в секунду.



Офлайн

#4 Ноя. 27, 2008 20:06:47

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Отправка ICQ-сообщений из loop'a

Абсолютно все крутиться в reactor.run. Настроил соединения и запустил его. И НИКОГДА не выходишь. Вышел только для того, чтобы закрыть программу. Для твоих “входных данных” тоже создаешь соединение в twisted. Слушаешь в нем кого следует. Если что-то пришло - реагируешь соответственно. Например, просишь открыть соедиенение на icq клиента. Как-то так.
На словах объяснять может получиться довольно долго. Пиши код и присылай его, если что не так. Делать самому всю работу - никакого желания. Помочь/подсказать здесь многие готовы. Только спрашивай поконкретней. На вопрос “научите меня программированнию вообще” нормально ответить невозможно.

Документация:
http://twistedmatrix.com/projects/core/documentation/howto/index.html
Простой пример http proxy:

from twisted.web import proxy, http
from twisted.internet import reactor
from twisted.python import log
import sys
log.startLogging(sys.stdout)

class ProxyFactory(http.HTTPFactory):
def __init__(self):
http.HTTPFactory.__init__(self)
self.protocol = proxy.Proxy

reactor.listenTCP(8080, ProxyFactory())
reactor.run()



Офлайн

#5 Ноя. 28, 2008 06:28:38

andr0s
От:
Зарегистрирован: 2008-11-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка ICQ-сообщений из loop'a

Андрей Светлов, спасибо за ответ. Будем разбираться :)



Отредактировано (Ноя. 28, 2008 06:30:45)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version