我希望编写一个可以通过多个套接字连接到服务器的Twisted客户端应用程序。我希望使用Factory,Protocol,Transport模型,因为它们似乎提供了一个很好的框架。 interfaces,Protocol和ProcessProtocol都继承自BaseProtocol,但它们有何不同? ProcessProtocol是一个协议池吗?特别是,ProcessProtocol中的子进程是什么,可以用作套接字对象吗?
IProtocol(Interface):
dataReceived(data)
connectionLost(reason)
makeConnection(transport)
connectionMade()
IProcessProtocol(Interface):
childDataReceived(childFD, data)
childConnectionLost(childFD)
processExited(reason)
processEnded(reason)
编辑:发现ProcessProtocol实际上可能正在启动python进程。
答案 0 :(得分:2)
ProcessProtocol是用于communicate with a sub-process的协议。该过程可以是Python过程,也可以是您希望通过标准输入,标准输出和标准错误流启动和通信的任何其他程序。