从自定义Autobahn WampClientProtocol外部调用发布
问题描述
如何从协议类外部调用Autobahn/WAMP/TWISTED协议发布方法?
我有一个基于https://github.com/tavendo/AutobahnPython/blob/master/examples/wamp/pubsub/custom/client.py的定制Python Autobahn客户端。我正在尝试从自定义WampClientProtocol类的外部发布事件,但遇到了问题。如果我将协议对象赋给一个变量,wamp.py(https://github.com/tavendo/AutobahnPython/blob/master/autobahn/autobahn/wamp.py)的第1387行将失败,并出现异常"MyClientProtocol实例没有属性工厂"。如果我尝试调用工厂(即"factory.protocol.Publish(Msg)"),我得到的错误是发布方法未绑定。
解决方案
以防有人遇到这个问题:在Autobahn邮件列表上讨论了解决方案,工作代码可以在此处找到:https://github.com/oberstet/scratchbox/tree/master/python/gephi
相关文章