首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖Autobahn/Twisted WebsocketClientProtocol类

覆盖Autobahn/Twisted WebsocketClientProtocol类
EN

Stack Overflow用户
提问于 2013-12-23 09:54:42
回答 2查看 1.6K关注 0票数 2

我希望重写我的WebSocketClientFactory类,以允许传入数据填充作业队列。这是我正在尝试的连接代码

代码语言:javascript
复制
    factory = WebSocketClientFactory("ws://localhost:7096")
    job_queue = Queue.Queue()
    factory.protocol = BridgeSocket(job_queue)
    connectWS(factory)

这是我的套接字类:

代码语言:javascript
复制
class BridgeSocket(WebSocketClientProtocol):
    def __init__(self,producer_queue):
        self.producer_queue = producer_queue

    def sendHello(self):
        self.sendMessage("hello")

    def onOpen(self):
        self.sendHello()
.....

不管怎么说我都错了

代码语言:javascript
复制
exceptions.AttributeError: BridgeSocket instance has no __call__ method

有没有办法在我的主线程和我在其中创建的websockets之间共享队列。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-23 11:04:24

一种选择是去做

代码语言:javascript
复制
factory = WebSocketClientFactory("ws://localhost:7096")
factory.job_queue = Queue.Queue()
factory.protocol = BridgeSocket

然后从协议中访问共享队列,如下所示

代码语言:javascript
复制
class BridgeSocket(WebSocketClientProtocol):

    def onMessage(self, payload, isBinary):
        self.factory.job_queue.put(payload)

*西德诺特:你用的是来自GitHub的AutobahnPython中继吗?您应该使用标记版本或来自PyPI (0.6.5).*的最新版本

票数 3
EN

Stack Overflow用户

发布于 2013-12-23 14:48:51

如果有人需要,我也尝试过这种方法,但oberstet的解决方案看起来非常优雅和高效。

代码语言:javascript
复制
class BridgeSocket(WebSocketClientProtocol):

    def __init__(self,factory,job_queue):
        self.job_queue = job_queue
        self.factory=factory

class BridgeSocketClientFactory(WebSocketClientFactory):

    def __init__(self,url,job_queue):
        WebSocketClientFactory.__init__(self,url)
        self.job_queue = job_queue

    def buildProtocol(self, addr):
        return BridgeSocket(self,self.job_queue)


factory = BridgeSocketClientFactory("ws://localhost:7096",job_queue)
connectWS(factory)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20740987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档