Pergunta

Quero montar o servidor TCP simples usando Python e Twisted.

O servidor é iniciado e aguarda a conexão - eu já tenho um aplicativo cliente - não -python. Uma vez que a conexão seja feita, o servidor inicia o envio de dados em algum intervalo (por exemplo, 1 s).

O servidor lê dados de um arquivo estático (um registro de cada vez), eu devo descobrir essa parte.

Presumo que eu usaria o produtor push para começar a pressionar os dados assim que o cliente estiver conectado.

Eu tenho um servidor TCP simples com a fábrica em torcida e posso reagir a conexão de conexão/datarece e assim por diante, mas não consigo imaginar como conectar o produtor de pressão.

Alguém conhece algum exemplo que mostra o produtor push com o TCP Server em Twisted?

Foi útil?

Solução

Que tal algo simplista como:

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()

Isso possui dados codificados, mas você diz que ler em um arquivo não é o seu problema. Se você pode nos dizer o que há de errado com este "servidor push" excessivamente simplista, talvez possamos oferecer melhor ajuda!-)

Outras dicas

Aqui é um exemplo completo de um produtor de pressão. Foi adicionado ao SVN torcido como exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top