라벨이 asyncio인 게시물 표시

python asyncio를 이용한 async socket server client example code

 본 포스트는 python asyncio 라이브러리를 사용한 async socket 서버와 클라이언트 예제 코드를 싣고 있다. 이전 non-blocking socket의 예제를 asyncio 라이브러리에 맞게 변형하였다.  python socket API 와 non-blocking socket server client example code 1. asyncio (Asynchronous I/O) asyncio는 async/await 구문을 사용해 multi-thread처럼 동시에 진행하는 코드를 작성하는 라이브러리다. 네트워크 및 웹 서버, DB 연결, 분산 작업 대기열을 제공하는 분산 프레임 워크의 기반으로 사용된다고 한다. (  https://docs.python.org/3.7/library/asyncio.html ) async socket server/client 구현에 필요한 asyncio 라이브러리 API는 예제 코드를 보면서, 설명하도록 하겠다. 2. Async socket client example code import asyncio async def pingpong_client():     try:         reader, writer = await asyncio.open_connection(host='localhost',port=8000)     except OSError:         print('connection fail')         return          for _ in range(10):         writer.write(b'ping')     ...