Exemplo n.º 1
0
class WebSocketListenerService(service.Service):

   name = "WebSocketListenerService"

   logger = Logger()

   def __init__(self, server_uri, router_uri, debug=False):
      self.s_uri = server_uri
      self.s_address = urlparse(server_uri).hostname
      self.s_port = urlparse(server_uri).port

      self.r_uri = router_uri
      self.r_address = urlparse(router_uri).hostname
      self.r_port = urlparse(router_uri).port

      self.debug = debug

      self.s_factory = WebSocketServerFactory(server_uri)
      proto = WSServer
      proto.service = self
      self.s_factory.protocol = proto
      self.s_factory.setProtocolOptions(maxConnections=10)

   def startService(self):
      self.s_listener = reactor.listenTCP(self.s_port, self.s_factory, interface=self.s_address)
      self.logger.info("service started")

   def stopService(self):
      self.s_listener.stopListening()
      self.s_factory.stopFactory()
      self.logger.info("service stopped")