Domanda

Voglio mettere insieme un semplice server TCP usando Python e Twisted.

Il server si avvia e attende la connessione: ho già un client, un'applicazione non Python.Una volta stabilita la connessione, il server inizia a inviare i dati a un certo intervallo (ad es.1 secondo).

Il server legge i dati da un file statico (un record alla volta), dovrei riuscire a capire questa parte.

Presumo che utilizzerei il produttore push per iniziare a inviare i dati una volta connesso il client.

Ho un semplice server TCP con fabbrica in twisted e posso reagire a ConnectionMade/dataReceived e così via ma non riesco a capire su come collegare il produttore push.

Qualcuno conosce qualche esempio che mostri il produttore push con il server TCP in twisted?

È stato utile?

Soluzione

Che ne dici di qualcosa di semplicistico come:

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

Questo ha dati hardcoded, ma dici che invece leggerlo da un file non è un tuo problema.Se puoi dirci cosa c'è che non va in questo "server push" eccessivamente semplicistico, forse possiamo offrirti un aiuto migliore!-)

Altri suggerimenti

Qui è un esempio completo di produttore push.È stato aggiunto al twisted svn come esempio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top