예제 #1
0
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))
예제 #2
0
        ##
        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: