예제 #1
0
def main():
    if sys.platform == 'win32':
        from cuwo.win32 import WindowsEventLoop
        loop = WindowsEventLoop()
        asyncio.set_event_loop(loop)

        # asyncio has poor support for signals on win32.
        # use a busy loop to properly receive SIGINT
        def busy_loop():
            loop.call_later(0.1, busy_loop)
        busy_loop()
    else:
        loop = asyncio.get_event_loop()

    loop.add_signal_handler(signal.SIGINT, loop.stop)
    co = loop.create_server(lambda: FrontendProtocol(loop), '127.0.0.1', 12345)
    loop.create_task(co)
    print('cuwo (mitm) running on port 12345')

    loop.run_forever()