A few Windows fixes (sigh)
This commit is contained in:
@@ -58,13 +58,18 @@ class WebsocketServerThread(threading.Thread):
|
|||||||
return asyncio.run_coroutine_threadsafe(self.send_text_coroutine(text), self.loop)
|
return asyncio.run_coroutine_threadsafe(self.send_text_coroutine(text), self.loop)
|
||||||
|
|
||||||
def stop_server(self):
|
def stop_server(self):
|
||||||
|
self.loop.call_soon_threadsafe(self.server.ws_server.close)
|
||||||
self.loop.call_soon_threadsafe(self.loop.stop)
|
self.loop.call_soon_threadsafe(self.loop.stop)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
asyncio.set_event_loop(self.loop)
|
asyncio.set_event_loop(self.loop)
|
||||||
start_server = websockets.serve(self.server_handler, 'localhost', self.port, max_size=50000000)
|
start_server = websockets.serve(self.server_handler, 'localhost', self.port, max_size=50000000)
|
||||||
|
self.server = start_server
|
||||||
self.loop.run_until_complete(start_server)
|
self.loop.run_until_complete(start_server)
|
||||||
self.loop.run_forever()
|
self.loop.run_forever()
|
||||||
|
pending = asyncio.all_tasks(loop=self.loop)
|
||||||
|
if len(pending) > 0:
|
||||||
|
self.loop.run_until_complete(asyncio.wait(pending))
|
||||||
self.loop.close()
|
self.loop.close()
|
||||||
|
|
||||||
|
|
||||||
@@ -114,8 +119,12 @@ def getchar_thread():
|
|||||||
import msvcrt
|
import msvcrt
|
||||||
while True:
|
while True:
|
||||||
user_input = msvcrt.getch()
|
user_input = msvcrt.getch()
|
||||||
|
try:
|
||||||
|
user_input = user_input.decode()
|
||||||
if user_input.lower() in 'tq':
|
if user_input.lower() in 'tq':
|
||||||
break
|
break
|
||||||
|
except UnicodeDecodeError:
|
||||||
|
pass
|
||||||
else:
|
else:
|
||||||
import tty, termios
|
import tty, termios
|
||||||
fd = sys.stdin.fileno()
|
fd = sys.stdin.fileno()
|
||||||
|
|||||||
Reference in New Issue
Block a user