我想使用Twisted重新构建现有应用程序的通信部分。该应用程序只从客户端向服务器发送数据,服务器不发送任何内容。
如何使用Twisted的事件驱动概念实现这一点?我目前使用Protocol的connectionMade方法,但我认为这不是正确的方法。
我非常确定这不是做这件事的方法。;-)
补充: 我的问题是,我无法想象要使用哪个事件。我认为connectionMade事件不是正确的事件,但在我的情况下,我永远不会到达除connectionLost事件之外的任何其他事件,因为服务器不向客户端发送任何内容。我应该改变这种行为吗?
如何使用Twisted的事件驱动概念实现这一点?我目前使用Protocol的connectionMade方法,但我认为这不是正确的方法。
class Send(Protocol):
def connectionMade(self):
while True:
data = queue.get()
self.transport.write(data + "\n")
self.transport.doWrite()
我非常确定这不是做这件事的方法。;-)
补充: 我的问题是,我无法想象要使用哪个事件。我认为connectionMade事件不是正确的事件,但在我的情况下,我永远不会到达除connectionLost事件之外的任何其他事件,因为服务器不向客户端发送任何内容。我应该改变这种行为吗?
doWrite
函数? - ClaudiudoWrite
是从反应器调用的方法,当需要写一些数据时。这意味着底层文件描述符已准备好进行写入操作。 - Glyph