Advertisement
Guest User

Untitled

a guest
May 2nd, 2014
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import sys, time, datetime, six
  2. from twisted.python import log
  3. from twisted.internet import reactor
  4. from twisted.internet.defer import inlineCallbacks
  5. from twisted.internet.endpoints import serverFromString
  6.  
  7. from autobahn.wamp import router
  8. from autobahn.twisted.util import sleep
  9. from autobahn.twisted import wamp, websocket
  10.  
  11.  
  12. class MyBackendComponent(wamp.ApplicationSession):
  13.    """"""
  14.  
  15.    @inlineCallbacks
  16.    def onJoin(self, details):
  17.  
  18.       ## publish events to a topic
  19.       ##
  20.       counter = 0
  21.       while True:
  22.          self.publish(u'com.myapp.topic1', counter)
  23.          print("Published event.")
  24.          counter += 1
  25.          yield sleep(2)
  26.  
  27.  
  28. if __name__=="__main__":
  29.    log.startLogging(sys.stdout)
  30.    router_factory = router.RouterFactory()
  31.    session_factory = wamp.RouterSessionFactory(router_factory)
  32.    session_factory.add(MyBackendComponent())
  33.    transport_factory = websocket.WampWebSocketServerFactory(session_factory, \
  34.                                                             debug = True, \
  35.                                                             debug_wamp = True)
  36.  
  37.    server = serverFromString(reactor, "tcp:8080")
  38.    server.listen(transport_factory)
  39.  
  40.    reactor.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement