订阅纵横高速公路上的python主题

2024-05-06 10:48:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我是横杆上的一个笨蛋。 我正在尝试订阅一个主题,在python中使用autobahn和crossbar。你知道吗

crossbar url是“wss://*******.******.org/ws/”,主题是c*******d

没有信号主题,每个呼叫都指向此主题c*******d

我在那里找到了一些代码片段https://autobahn.readthedocs.io/en/latest/,并尝试对其进行修改。你知道吗

from autobahn.twisted.component import Component
from twisted.internet.defer import inlineCallbacks
from autobahn.twisted.component import Component
from autobahn.twisted.component import run

#component with my crossbar url :

component = Component(
     transports=u"wss://******.******.org/ws/",       
     realm=u"realm1",
 )

@component.on_join
@inlineCallbacks
def joined(session,details):
    print("session ready")

    def oncounter(count):
        print("event received: {0}", count)

    try:
        yield session.subscribe(oncounter, u'c******d') #here my topic
        print("subscribed to topic")
    except Exception as e:
        print("could not subscribe to topic: {0}".format(e))

if __name__ == "__main__":
     run([component]) 

我得到这个错误。好像什么都没有正常工作。你知道吗

2019-10-25T14:38:07+0200 SSL error: certificate verify failed (in tls_process_server_certificate)
2019-10-25T14:38:07+0200 TLS failure: certificate verify failed
2019-10-25T14:38:07+0200 Stopping factory <autobahn.twisted.websocket.WampWebSocketClientFactory object at 0x000002B693A58>
2019-10-25T14:38:09+0200 connecting once using transport type "websocket" over endpoint "tcp"
2019-10-25T14:38:09+0200 Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory object at 0x000002B693A58>
2019-10-25T14:38:09+0200 SSL error: certificate verify failed (in tls_process_server_certificate)
2019-10-25T14:38:09+0200 TLS failure: certificate verify failed
2019-10-25T14:38:09+0200 Stopping factory <autobahn.twisted.websocket.WampWebSocketClientFactory object at 0x000002B693A58>
2019-10-25T14:38:12+0200 connecting once using transport type "websocket" over endpoint "tcp"
2019-10-25T14:38:12+0200 Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory object at 0x000002B693A58>

如前所述,我是新到这一点,所以任何洞察上述将不胜感激!你知道吗


Tags: fromimport主题objectfactorytwistedcertificateat
1条回答
网友
1楼 · 发布于 2024-05-06 10:48:39

我认为你想做的是:

import sys 
import asyncio
from autobahn.asyncio.wamp import ApplicationSession, ApplicationRunner
import autobahn.wamp


class Component(ApplicationSession):

    """
    An application component that subscribe to a topic
    and print messages

    """
    async def onJoin(self, details):

        def onmessage(*args, **kwargs):
            print ("message received kwargs= "+str(kwargs))

        await self.subscribe(onmessage, "c******d")

    def onDisconnect(self):

        asyncio.get_event_loop().stop()

if __name__ == '__main__':

        url = u"wss://************.org/ws/"
        realm = u"realm1"
        runner = ApplicationRunner(url, realm)
        runner.run(Component,'debug')

相关问题 更多 >