【发布时间】:2013-12-24 23:07:16
【问题描述】:
我正在尝试制作一个 Twisted 应用程序,它一方面是 XMLRPC 服务器,另一方面是特殊非对称二进制协议的客户端(我们称之为“二进制”) 现在它是这样工作的:
- 接收xmlrpc请求并返回请求id(我是服务器)
- 向“二进制”服务器发出请求(我是客户端)
- xmlrpc 客户端使用 (1) 中给出的请求 ID 发出轮询请求。
- 如果“二进制”协议已经给出轮询请求,则返回“稍后再试”或实际结果。
现在可以了,但我想放弃轮询程序。
但是当我在 xmlrpc 请求处理过程中时,“二进制”协议交换不执行,所以我从来没有从“二进制”服务器得到结果。
你有什么建议?分离线程?还有什么?
from twisted.internet import reactor
reactor.connectTCP(globalconf.cfgBinServerAddr, globalconf.cfgBinServerPort, BinFactory(binProtocol))
reactor.listenTCP(globalconf.xmlrpcPort, server.Site(xmlrpcProtocol))
reactor.run()
【问题讨论】: