Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from twisted.internet.protocol import Factory
- from twisted.internet import reactor, protocol
- from twisted.web.server import Site
- from twisted.web.wsgi import WSGIResource
- from flask import Flask
- app = Flask(__name__)
- @app.route('/')
- def hello():
- return 'Hello World!!! A Flask WSGI under Twisted/Tornado/Built-in development server...'
- class CommandProtocol(protocol.Protocol):
- def __init__(self, factory, clients):
- self.factory = factory
- self.clients = clients
- def connectionMade(self):
- self.clients.append(self)
- # self.clients.append(self.transport.getPeer())
- def dataReceived(self, data):
- print "Number of active connections: {}".format(self.clients)
- print "> Received: > {}".format(data)
- self.send_command()
- def send_command(self):
- client = raw_input('Enter client: ')
- command = raw_input('Enter command: ')
- self.clients[int(client)].transport.write(command)
- def connectionLost(self, reason):
- self.clients.remove(self)
- class CommandFactory(Factory):
- def __init__(self):
- self.clients = []
- def buildProtocol(self, addr):
- return CommandProtocol(self, self.clients)
- factory = CommandFactory()
- reactor.listenTCP(8001, factory)
- resource = WSGIResource(reactor, reactor.getThreadPool(), app)
- site = Site(resource)
- reactor.listenTCP(8080, site, interface="0.0.0.0")
- reactor.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement