1111
1212
1313@asyncio .coroutine
14- def handler (request ):
14+ def wshandler (request ):
1515 resp = WebSocketResponse ()
1616 ok , protocol = resp .can_start (request )
1717 if not ok :
1818 with open (WS_FILE , 'rb' ) as fp :
1919 return Response (body = fp .read (), content_type = 'text/html' )
2020
2121 resp .start (request )
22- print ('{}: Someone joined.' . format ( os . getpid ()) )
22+ print ('Someone joined.' )
2323 for ws in request .app ['sockets' ]:
2424 ws .send_str ('Someone joined' )
2525 request .app ['sockets' ].append (resp )
@@ -43,12 +43,16 @@ def handler(request):
4343def init (loop ):
4444 app = Application (loop = loop )
4545 app ['sockets' ] = []
46- app .router .add_route ('GET' , '/' , handler )
46+ app .router .add_route ('GET' , '/' , wshandler )
4747
48- srv = yield from loop .create_server (app .make_handler (), '127.0.0.1' , 8080 )
48+ handler = app .make_handler ()
49+ srv = yield from loop .create_server (handler , '127.0.0.1' , 8080 )
4950 print ("Server started at http://127.0.0.1:8080" )
50- return srv
51+ return srv , handler
5152
5253loop = asyncio .get_event_loop ()
53- loop .run_until_complete (init (loop ))
54- loop .run_forever ()
54+ srv , handler = loop .run_until_complete (init (loop ))
55+ try :
56+ loop .run_forever ()
57+ except KeyboardInterrupt :
58+ loop .run_until_complete (handler .finish_connections ())
0 commit comments