ws-clent.py 760 B

12345678910111213141516171819202122232425262728
  1. from tornado import gen
  2. from tornado.ioloop import IOLoop
  3. from tornado import websocket
  4. import json
  5. @gen.coroutine
  6. def run():
  7. url = 'ws://localhost:8080/test'
  8. conn = yield websocket.websocket_connect(url)
  9. print('connected!')
  10. while True:
  11. msg = yield conn.read_message()
  12. if msg is None:
  13. print('Connect closed')
  14. return
  15. data = json.loads(msg)
  16. cmd = data['command']
  17. if cmd == 'text_print':
  18. print(data['spec']['content'])
  19. elif cmd == 'text_input':
  20. input_text = input(data['spec']['prompt'])
  21. resp = dict(msg_id=data['spec']['msg_id'], data=input_text)
  22. yield conn.write_message(json.dumps(resp))
  23. IOLoop.current().run_sync(run)