September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
34
Task/Echo-server/Python/echo-server-2.py
Normal file
34
Task/Echo-server/Python/echo-server-2.py
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/env python
|
||||
# $ printf 'echo\r\n' | nc localhost 12321
|
||||
# echo
|
||||
import asyncio
|
||||
import logging
|
||||
import os
|
||||
|
||||
logger = logging.getLogger('echoserver')
|
||||
|
||||
async def echo_handler(reader, writer):
|
||||
address = writer.get_extra_info('peername')
|
||||
logger.debug('accept: %s', address)
|
||||
message = await reader.readline()
|
||||
writer.write(message)
|
||||
await writer.drain()
|
||||
writer.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
logging.basicConfig()
|
||||
logger.setLevel(logging.DEBUG)
|
||||
loop = asyncio.get_event_loop()
|
||||
factory = asyncio.start_server(
|
||||
echo_handler,
|
||||
os.environ.get('HOST'),
|
||||
os.environ.get('PORT', 12321)
|
||||
)
|
||||
server = loop.run_until_complete(factory)
|
||||
try:
|
||||
loop.run_forever()
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
server.close()
|
||||
loop.run_until_complete(server.wait_closed())
|
||||
loop.close()
|
||||
Loading…
Add table
Add a link
Reference in a new issue