Витой:TCP-сервер с примером производителя push?
Вопрос
Я хочу собрать простой TCP-сервер, используя Python и Twisted.
Сервер запускается и ждет подключения — у меня уже есть клиентское приложение, не являющееся Python.После установления соединения сервер начинает отправлять данные через определенный интервал (например,1 сек).
Сервер считывает данные из статического файла (по одной записи), я смогу разобраться в этой части.
Я предполагаю, что я бы использовал производителя push-уведомлений, чтобы начать отправку данных после подключения клиента.
У меня есть простой tcp-сервер с фабрикой в скрученном состоянии, и я могу реагировать на ConnectionMade/dataReceived и т. д., но не могу понять. как подключить push-продюсер.
Кто-нибудь знает какие-нибудь примеры, показывающие производитель push-уведомлений с tcp-сервером в витом состоянии?
Решение
А как насчет чего-то упрощенного, например:
thedata = '''
Questa mattina
mi son svegliato
o bella ciao, bella ciao,
bella ciao, ciao, ciao
questa mattina
mi son svegliato
ho trovato l'invasor!
'''.splitlines(True)
class Push(protocol.Protocol):
"""This is just about the simplest possible protocol"""
def connectionMade(self):
for line in thedata:
if not line or line.isspace():
continue
self.transport.write(line)
time.sleep(1.0)
self.transport.loseConnection()
Здесь жестко закодированы данные, но вы говорите, что чтение их из файла — не ваша проблема.Если вы расскажете нам, что не так с этим слишком упрощенным «push-сервером», возможно, мы сможем предложить лучшую помощь!-)
Другие советы
Здесь является полным примером производителя push-уведомлений.Он был добавлен в svn в качестве примера.