zmq async client server
2020.03.12 21:39
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
1716 | 이건 비밀글이얍 | J | 2004.04.23 | 2 |
1715 | 아저씨에게 [1] | ^&^ | 2004.04.25 | 3 |
1714 | 아저씨~ [1] | ^&^ | 2004.05.15 | 5 |
1713 | 다시 이곳으로... | WHRIA | 2024.03.02 | 6 |
1712 | 모든 연구 자료를 정리. 이것으로 마무리 짓기로. | WHRIA | 2024.03.03 | 15 |
1711 | MedicalPhoto MSVC 2015 와 최신 boost 로... | WHRIA | 2016.08.26 | 17 |
1710 | Visual Studio 설치후 Excel 2002 (XP) 종료시 에러 문제 | WHRIA | 2015.11.20 | 21 |
1709 | headless PC 를 위한 dummy plug in 을 구입해서 달다. | WHRIA | 2015.11.22 | 21 |
1708 | XP shutdown 시 강제종료 시키기 | WHRIA | 2016.08.16 | 21 |
1707 | XE 에 tinymce 에디터를 달다. | WHRIA | 2015.11.22 | 22 |
1706 | USB 에뮬레이션 램디스트 imdisk | WHRIA | 2016.09.02 | 27 |
1705 | 학술저널 받는법 | WHRIA | 2015.11.30 | 28 |
1704 | imbalanced dataset | WHRIA | 2018.12.26 | 28 |
1703 | raid monitor | WHRIA | 2019.12.15 | 31 |
1702 | 지급명세서 | WHRIA | 2015.10.14 | 32 |
REP 서버
import sys import asyncio import zmq import zmq.asyncio import random ctx = zmq.asyncio.Context() async def run_server(*ports): sock = ctx.socket(zmq.REP) for port in ports: sock.bind(f'tcp://*:{port}') while True: request = await sock.recv_string() print(f'RECEIVED:\t{request}') print(f'PROCESSING...') await asyncio.sleep(random.randrange(5,30) / 10) print(f'SENDING:\t{request}') await sock.send_string(request) if __name__ == '__main__': ports = sys.argv[1:] if len(sys.argv) > 1 else (5556,) asyncio.run(run_server(*ports))
REQ 클라이언트
import sys import asyncio import zmq import zmq.asyncio ctx = zmq.asyncio.Context() async def run_client(*ports): sock = ctx.socket(zmq.REQ) for port in ports: sock.connect(f'tcp://localhost:{port}') while True: line = input('>>') print(f'SENDING:\t{line}') await sock.send_string(line) reply = await sock.recv_string() print(f'RECEIVED:\t{reply}') if line == 'bye': break if __name__ == '__main__': ports = sys.argv[1:] if len(sys.argv) > 1 else (5556,) asyncio.run(run_client(*ports))