扭曲:tcp服务器与推送生产者的例子?

时间:2009-10-20 00:05:27

标签: python twisted tcpserver

我想使用Python和Twisted组合简单的TCP服务器。

服务器启动并等待连接 - 我已经有了客户端 - 非python应用程序。一旦建立连接,服务器就会以某个间隔(例如1秒)开始发送数据。

服务器从静态文件中读取数据(一次一条记录),我应该能够弄清楚这一部分。

我假设一旦连接客户端,我会使用push生成器来开始推送数据。

我有简单的tcp服务器,工厂处于扭曲状态,我可以对connectionMade / dataReceived等作出反应,但我无法想象如何插入推送生产商

任何人都知道有任何示例显示推送生产者使用tcp服务器处于扭曲状态吗?

2 个答案:

答案 0 :(得分:4)

Here是推送生产者的完整示例。它被添加到扭曲的svn中作为例子。

答案 1 :(得分: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()

这有硬编码数据,但是你说从文件读取它不是你的问题。如果你能告诉我们这个过于简单的“推送服务器”有什么问题,也许我们可以提供更好的帮助! - )