【发布时间】:2013-05-17 09:20:51
【问题描述】:
我有一个HistoricRecvLine,用作twisted.internet.protocol.ProcessProtocol 类的接口。我可以毫无问题地从HistoricRecvLine 获取协议的信息,但我似乎无法找到另一种方式的魔法绑定:我希望协议中的信息显示在 CLI 中。更清楚地说,我想让 ProcessProtocol 创建的子进程的 stdout/stderr 消息出现在我的 HistoricRecvLine 的 CLI 实现中。
任何人都知道该怎么做,或者可以指出正确的方向吗?
【问题讨论】:
-
没有任何魔法。信息使用相同的机制向任一方向流动:使用数据调用方法。您能否更具体地说明您遇到的问题?
-
@Jean-PaulCalderone:问题已编辑,是否更有意义?
-
并非如此。是什么阻止您从
ProcessProtocol的方法调用处理 CLI 的协议上的方法,该方法具有您想要显示的数据? -
@Jean-PaulCalderone 因为我看不到要调用的 哪个 方法! CLI 和 ProcessProtocol 是独立的并传递给
twisted.conch.insults.insults.ServerProtocol。 CLI 可以看到协议,但看不到 vis-ver-ca。 -
为什么不能让协议“看到”CLI?
theProtocol.setCLI(theCLI)应该这样做。