def start(self): try: root = Resource() root.putChild('play', PlayHandler(self._media_backend, self)) root.putChild('scrub', ScrubHandler(self._media_backend, self)) root.putChild('rate', RateHandler(self._media_backend, self)) root.putChild('photo', PhotoHandler(self._media_backend, self)) root.putChild('authorize', AuthorizeHandler(self._media_backend, self)) root.putChild('server-info', ServerInfoHandler(self._media_backend, self)) root.putChild('slideshow-features', SlideshowFeaturesHandler(self._media_backend, self)) root.putChild('playback-info', PlaybackInfoHandler(self._media_backend, self)) root.putChild('stop', StopHandler(self._media_backend, self)) root.putChild('setProterpy', SetProterpyHandler(self._media_backend, self)) root.putChild('getProterpy', GetProterpyHandler(self._media_backend, self)) self.reverseHandler = ReverseHandler() site = WebSocketSite(root) site.addHandler('/reverse', self.reverseHandler) port = self._port reactor.listenTCP(port, site, interface='0.0.0.0') except Exception as ex: print('Exception(Can be ignored): ' + str(ex), __name__, 'W')
del self.periodic_call # here is a good place to deregister this handler object class FlashSocketPolicy(Protocol): """ A simple Flash socket policy server. See: http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html """ def connectionMade(self): policy = '<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM ' \ '"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">' \ '<cross-domain-policy><allow-access-from domain="*" to-ports="*" /></cross-domain-policy>' self.transport.write(policy) self.transport.loseConnection() if __name__ == "__main__": from twisted.internet import reactor # run our websocket server # serve index.html from the local directory root = File('.') site = WebSocketSite(root) site.addHandler('/test', Testhandler) reactor.listenTCP(8080, site) # run policy file server factory = Factory() factory.protocol = FlashSocketPolicy reactor.listenTCP(843, factory) reactor.run()
def setUp(self): self.site = WebSocketSite(Resource()) self.site.addHandler("/test", TestHandler)