comparison runtime/tools/demoserver.py @ 8673:ed7251c3e2d3

commit https://github.com/vim/vim/commit/e18c0b39815c5a746887a509c2cd9f11fadaba07 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Mar 20 21:08:34 2016 +0100 Updated runtime files.
author Christian Brabandt <cb@256bit.org>
date Sun, 20 Mar 2016 21:15:06 +0100
parents f5da459c5698
children c725b8e17f1f
comparison
equal deleted inserted replaced
8672:7d1058fed5fb 8673:ed7251c3e2d3
48 print("=== socket closed ===") 48 print("=== socket closed ===")
49 break 49 break
50 if data == '': 50 if data == '':
51 print("=== socket closed ===") 51 print("=== socket closed ===")
52 break 52 break
53 print("received: {}".format(data)) 53 print("received: {0}".format(data))
54 try: 54 try:
55 decoded = json.loads(data) 55 decoded = json.loads(data)
56 except ValueError: 56 except ValueError:
57 print("json decoding failed") 57 print("json decoding failed")
58 decoded = [-1, ''] 58 decoded = [-1, '']
63 if decoded[1] == 'hello!': 63 if decoded[1] == 'hello!':
64 response = "got it" 64 response = "got it"
65 else: 65 else:
66 response = "what?" 66 response = "what?"
67 encoded = json.dumps([decoded[0], response]) 67 encoded = json.dumps([decoded[0], response])
68 print("sending {}".format(encoded)) 68 print("sending {0}".format(encoded))
69 self.request.sendall(encoded.encode('utf-8')) 69 self.request.sendall(encoded.encode('utf-8'))
70 thesocket = None 70 thesocket = None
71 71
72 class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer): 72 class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
73 pass 73 pass
85 # Exit the server thread when the main thread terminates 85 # Exit the server thread when the main thread terminates
86 server_thread.daemon = True 86 server_thread.daemon = True
87 server_thread.start() 87 server_thread.start()
88 print("Server loop running in thread: ", server_thread.name) 88 print("Server loop running in thread: ", server_thread.name)
89 89
90 print("Listening on port {}".format(PORT)) 90 print("Listening on port {0}".format(PORT))
91 while True: 91 while True:
92 typed = sys.stdin.readline() 92 typed = sys.stdin.readline()
93 if "quit" in typed: 93 if "quit" in typed:
94 print("Goodbye!") 94 print("Goodbye!")
95 break 95 break
96 if thesocket is None: 96 if thesocket is None:
97 print("No socket yet") 97 print("No socket yet")
98 else: 98 else:
99 print("sending {}".format(typed)) 99 print("sending {0}".format(typed))
100 thesocket.sendall(typed.encode('utf-8')) 100 thesocket.sendall(typed.encode('utf-8'))
101 101
102 server.shutdown() 102 server.shutdown()
103 server.server_close() 103 server.server_close()