6

Python と Twisted を使用して単純な TCP サーバーを作成したいと考えています。

サーバーが起動し、接続を待ちます - 私はすでにクライアントを持っています - Python 以外のアプリケーションです。接続が確立されると、サーバーは一定の間隔 (1 秒など) でデータの送信を開始します。

サーバーは静的ファイル (一度に 1 レコード) からデータを読み取ります。この部分を理解できるはずです。

クライアントが接続されたら、プッシュ プロデューサーを使用してデータのプッシュを開始すると仮定します。

ツイストのファクトリを持つ単純な tcp サーバーがあり、connectionMade/dataReceived などに反応できますが、プッシュ プロデューサーをプラグインする方法がわかりません。

ねじれた tcp サーバーを使用したプッシュ プロデューサーを示す例を知っている人はいますか?

4

2 に答える 2

4

これがプッシュプロデューサーの完全な例です例として、twistedsvnに追加されています。

于 2010-06-21T21:57:50.157 に答える
2

次のような単純なものはどうでしょうか。

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

これにはハードコーディングされたデータがありますが、代わりにファイルから読み取ることは問題ではないと言います。この過度に単純化された「プッシュ サーバー」の何が問題なのかを教えていただければ、より良いサポートを提供できるかもしれません!-)

于 2009-10-20T04:26:40.157 に答える