代码之家  ›  专栏  ›  技术社区  ›  Pippi

Twisted python中Protocol和ProcessProtocol之间的区别是什么?

  •  1
  • Pippi  · 技术社区  · 9 年前

    我希望编写一个Twisted客户端应用程序,它可以通过几个套接字连接到服务器。我希望使用工厂、协议、传输模型,因为它们似乎提供了一个良好的框架。二者都 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进程。

    1 回复  |  直到 9 年前
        1
  •  2
  •   keturn    9 年前

    ProcessProtocol是用于 communicate with a sub-process 该进程可以是Python进程,也可以是您希望启动并通过其标准输入、标准输出和标准错误流进行通信的任何其他程序。