|
from tornado.options import options, define, parse_command_line |
|
import tornado.httpserver |
|
import tornado.ioloop |
|
import tornado.web |
|
import tornado.websocket |
|
from tornado import httpclient |
|
|
|
define('port', type=int, default=8000) |
|
|
|
class WSHandler(tornado.websocket.WebSocketHandler): |
|
def open(self): |
|
print("Connection opened") |
|
|
|
def on_message(self,message): |
|
self.write_message(message) |
|
|
|
def on_error(self): |
|
print("Error") |
|
|
|
def on_close(self): |
|
print("Connection closed") |
|
|
|
class IndexHandler(tornado.web.RequestHandler): |
|
@tornado.web.asynchronous |
|
@tornado.gen.engine |
|
def get(self): |
|
self.render('index.html') |
|
|
|
class Application(tornado.web.Application): |
|
def __init__(self): |
|
handlers = [ |
|
(r"/",IndexHandler), |
|
(r"/ws",WSHandler), |
|
] |
|
settings = { |
|
"template_path": "templates", |
|
"static_path": "static", |
|
} |
|
tornado.web.Application.__init__(self, handlers, **settings) |
|
|
|
def main(): |
|
application = Application() |
|
server = tornado.httpserver.HTTPServer(application) |
|
server.listen(options.port) |
|
|
|
tornado.ioloop.IOLoop.instance().start() |
|
|
|
if __name__ == '__main__': |
|
main() |
|
|