我正在编写一个实现自定义协议的客户端,并且有一个工厂.我的问题如下:我的客户端有双向通信,有时我想告诉它"发送此数据".但我所拥有的只是工厂对象:
class MyFactory(ClientFactory):
protocol = MyProtocol
def __init__(self, recv_callback):
self.recv_callback = recv_callback
def send_message(self, msg):
self.protocol.send_message(msg)
Run Code Online (Sandbox Code Playgroud)
所以我创建了一个工厂并拥有一个工厂对象,我没有协议对象.当send_message调用上面时,我得到一个错误,因为self.protocol它只是一个类,而不是一个对象.
我怎样才能做到这一点?除了工厂之外,我还应该公开连接协议吗?
谢谢