def run_router(application_class): """Run autobahn router as applicaiton""" router_factory = RouterFactory() session_factory = wamp.RouterSessionFactory(router_factory) session_factory.add(application_class()) transport_factory = websocket.WampWebSocketServerFactory(session_factory, debug=False, debug_wamp=False) loop = asyncio.get_event_loop() return loop.run_until_complete( loop.create_server(transport_factory, '0.0.0.0', 8080))
## counter = 0 while True: self.publish(u'com.myapp.topic1', counter) print("Published event.") counter += 1 yield from asyncio.sleep(1) if __name__ == '__main__': # 1) create a WAMP router factory router_factory = wamp.RouterFactory() # 2) create a WAMP router session factory session_factory = wamp.RouterSessionFactory(router_factory) # 3) Optionally, add embedded WAMP application sessions to the router session_factory.add(MyBackendComponent()) # 4) create a WAMP-over-WebSocket transport server factory transport_factory = websocket.WampWebSocketServerFactory(session_factory, debug=False, debug_wamp=False) # 5) start the server loop = asyncio.get_event_loop() coro = loop.create_server(transport_factory, '127.0.0.1', 8080) server = loop.run_until_complete(coro) try: