在 crossbar 高速公路上订阅 python 中的主题
subscribe to a topic in python on crossbar autobahn
我是crossbar的菜鸟。
我正在尝试使用 python 中的高速公路和横杆订阅主题。
横梁 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>
如前所述,我是新手,所以如果有任何关于上述内容的见解,我们将不胜感激!
我认为你想做的是:
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')
我是crossbar的菜鸟。 我正在尝试使用 python 中的高速公路和横杆订阅主题。
横梁 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>
如前所述,我是新手,所以如果有任何关于上述内容的见解,我们将不胜感激!
我认为你想做的是:
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')