자바의 java.net 패키지처럼 체계적이고 객체지향적인 네트워크 통신 구조를 파이썬으로 직접 구현해보고 싶어 질문을 남깁니다. 파이썬에는 기본적으로 내장된 socket 모듈이나 asyncio 같은 훌륭한 라이브러리가 있지만, 구조적으로 자바의 ServerSocket이나 Socket 클래스처럼 추상화된 형태의 네트워크 레이어를 파이썬 스타일로 재해석해보고 싶습니다.제가 궁금한 점은 크게 세 가지입니다.첫째, 자바의 멀티스레딩 기반 연결 처리 방식을 파이썬에서 구현할 때, GIL(전역 인터프리터 락)의 영향을 최소화하려면 threading과 multiprocessing 중 어느 방식을 핵심 구조로 잡는 것이 더 효율적일까요?둘째, 자바의 입출력 스트림(InputStream/OutputStream) 데이터 처리 방식을 파이썬의 바이트스트림 처리 방식과 어떻게 매핑하여 추상화 클래스를 설계해야 자바넷과 유사한 직관성을 가질 수 있을지 고민입니다.셋째, 혹시 이처럼 타 언어의 네트워크 라이브러리 구조를 파이썬으로 포팅하거나 참고하여 만든 가독성 좋은 온프레미스 오픈소스 프로젝트나 디자인 패턴 예시가 있다면 추천을 부탁드립니다.소켓 프로그래밍이나 네트워크 아키텍처 설계에 경험이 많으신 분들의 소중한 조언이나 피드백을 기다리겠습니다. 답변 주시면 정말 감사하겠습니다!
디스호스트로는 잘 안 되더라고요