August 2018
Intermediate to advanced
366 pages
10h 14m
English
The steps for this recipe are as follows:
import asyncio class EchoServer: MAX_MESSAGE_SIZE = 2**16 # 65k MESSAGE_HEADER_LEN = len(str(MAX_MESSAGE_SIZE)) def __init__(self, host='0.0.0.0', port=9800): self._host = host self._port = port self._server = None def serve(self, loop): coro = asyncio.start_server(self.handle, self._host, self._port, loop=loop) self._server = loop.run_until_complete(coro) print('Serving on %s:%s' % (self._host, self._port)) loop.run_until_complete(self._server.wait_closed()) print('Done') @property def started(self): return self._server is not None and self._server.sockets ...