0201
학교
[컴퓨터 네트워크] Socket programming (Part 2) - (1)
1. I/O 멀티플렉싱 프로그래밍
[1] 다중 접속 서버
다중 접속 서버
여러 클라이언트에 대해 여러 개의 연결을 허용하고 동시에 서비스를 제공한다.
멀티프로세스 기반 서버 (생략)
여러 클라이언트를 위해 여러 개의 프로세스를 생성한다.
멀티플렉싱 기반 서버
여러 클라이언트를 위한 I/O 클라이언트 그룹화
멀티스레드 기반 서버
여러 클라이언트를 위해 여러 개의 스레드를 생성한다.
[2] 멀티프로세스 서버의 대안
멀티프로세스 서버의 단점
빈번한 프로세스 생성으로 성능 저하가 발생한다.
여러 프로세스의 흐름을 고려해야 하므로 구현이 어렵다.
프로세스 간 통신이 필요한 경우 서버 구현이 복잡해진다.
멀티프로세스 서버의 대안
하나의 프로세스가 여러 클라이언트에게 서비스를 제공한다.
하나의 프로세스가 여러 소켓을 처리할 수 있는 방법이 필요하다.• I/O 멀티플렉싱이 필요하다.
