Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

단방향 통신

한쪽 방향으로만 통신할 수 있는 것을 단방향 통신이라고 한다. 파이프(:12)가 대표적인 예이다.

단방향 통신 파이프를 두개 만드는 것으로 full-duplex 통신이 가능하게 할 수 있다. pipe(2)함수가 두개의 파이프로 full-duplex 통신을 구현하는 예이다.

half-duplex 통신

양쪽방향으로 통신할 수 있지만, 읽기와 쓰기를 동시에 할 수는 없다. 읽을 때는 쓸수 없고, 쓸때는 읽을 수 없다. 송신과 수신을 동시에 할 수 없는 무전기가 대표적인 예이다. 반 이중 통신 이라고 부르기도 한다.

full-duplex 통신

양쪽방향으로 동시에 통신할 수 있다. 전화기가 대표적인 예이다. 전 이중 통신이라고 부르기도 한다.

소켓은 반 이중 통신 ? 아니면 전 이중 통신 ?

소켓을 생성하면 하나의 파일 지정 번호를 반환한다. 생성된 소켓은 분리된 읽기 버퍼와 쓰기 버퍼를 가지고 있으며, 멀티:::쓰레드(:12), 멀티:::프로세스(:12), 입출력:::다중화(:12)등의 기술을 이용해서 읽기 쓰기를 동시에 할 수 있다. 또한 하나의 스트림을 읽기전용과 쓰기전용 스트림으로 분리할 수도 있다.

이런 특성에 비추어 볼 때, 소켓은 전 이중 통신을 지원한다고 할 수 있다.