diff options
author | Aaron LI <aaronly.me@outlook.com> | 2016-10-30 16:07:10 +0800 |
---|---|---|
committer | Aaron LI <aaronly.me@outlook.com> | 2016-10-30 16:07:10 +0800 |
commit | 90b877a2c785bb7691249d31e23138e0385001ae (patch) | |
tree | 7e775e4009d97ce611bc4a8f4c83f6ea2694ae13 /fg21sim/webui/websocket.py | |
parent | 9d7c7bb53244d2f79173b0f7fe1c6e91a656a240 (diff) | |
download | fg21sim-90b877a2c785bb7691249d31e23138e0385001ae.tar.bz2 |
webui: Build the Web UI using Tornado with WebSocket
Tornado: http://www.tornadoweb.org/
Diffstat (limited to 'fg21sim/webui/websocket.py')
-rw-r--r-- | fg21sim/webui/websocket.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/fg21sim/webui/websocket.py b/fg21sim/webui/websocket.py new file mode 100644 index 0000000..ab846df --- /dev/null +++ b/fg21sim/webui/websocket.py @@ -0,0 +1,27 @@ +# Copyright (c) 2016 Weitian LI <liweitianux@live.com> +# MIT license + +""" +Communicate with the "fg21sim" simulation program through the Web UI using +the WebSocket_ technique, which provides full-duplex communication channels +over a single TCP connection. + +.. _WebSocket: https://en.wikipedia.org/wiki/WebSocket , + http://caniuse.com/#feat=websockets +""" + +import tornado.websocket + + +class EchoWSHandler(tornado.websocket.WebSocketHandler): + def open(self): + print("WebSocket opened") + + def on_message(self, message): + print("Message received: %s" % message) + msg_back = message[::-1] + print("Message sent back: %s" % msg_back) + self.write_message(msg_back) + + def on_close(self): + print("WebSocket closed") |