从自定义Autobahn WampClientProtocol外部调用发布

2022-04-18 00:00:00 python twisted autobahn

问题描述

如何从协议类外部调用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

相关文章