-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
34 lines (26 loc) · 796 Bytes
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import asyncio
import logging
import sys
from sockit.server import WebSocketServer
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
LOGGER = logging.getLogger(__name__)
class Settings:
HOST = "127.0.0.1"
PORT = 8888
def main() -> None:
loop = asyncio.get_event_loop()
# Each client connection will create a new protocol instance
coro = loop.create_server(WebSocketServer, Settings.HOST, Settings.PORT)
LOGGER.info("start server on %s:%s", Settings.HOST, Settings.PORT)
server = loop.run_until_complete(coro)
try:
loop.run_forever()
except KeyboardInterrupt:
pass
# Close the server
server.close()
loop.run_until_complete(server.wait_closed())
loop.close()
sys.exit(0)
if __name__ == "__main__":
main()