我想使用Python和Twisted组合简单的TCP服务器。
服务器启动并等待连接 - 我已经有了客户端 - 非python应用程序。一旦建立连接,服务器就会以某个间隔(例如1秒)开始发送数据。
服务器从静态文件中读取数据(一次一条记录),我应该能够弄清楚这一部分。
我假设一旦连接客户端,我会使用push生成器来开始推送数据。
我有简单的tcp服务器,工厂处于扭曲状态,我可以对connectionMade / dataReceived等作出反应,但我无法想象如何插入推送生产商。
任何人都知道有任何示例显示推送生产者使用tcp服务器处于扭曲状态吗?
答案 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()
这有硬编码数据,但是你说从文件读取它不是你的问题。如果你能告诉我们这个过于简单的“推送服务器”有什么问题,也许我们可以提供更好的帮助! - )