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