#!/usr/bin/env python """Echo server using the asyncio API.""" import asyncio import sys from websockets.asyncio.server import serve DEFAULT_PORT = 8181 DEFAULT_IP = "127.0.0.1" async def delayed_func(): await asyncio.sleep(5) print("after delay") async def echo(websocket): print("client connected") try: async for message in websocket: if message == "Hello world!": asyncio.run(delayed_func()) await websocket.send(message) finally: print("client DC") async def main(ip, port): async with serve(echo, ip, port) as server: print("serving...") await server.serve_forever() if __name__ == "__main__": IP = DEFAULT_IP PORT = DEFAULT_PORT args = sys.argv[1:] for arg_i in range(len(args)): if args[arg_i] == "-ip" and arg_i < (len(args)-1): arg_i += 1 IP = args[arg_i] if args[arg_i] == "-port" and arg_i < (len(args)-1): arg_i += 1 try: PORT = int(args[arg_i]) except: print("Port must be an integer.") quit() asyncio.run(main(IP, PORT))