NamedPipe

< 네임드 파이프의 특징 >
- IPC(inter Process Communication)의 한 종류.
- 같은 랜상에서 같은 머신, 다른 머신의 프로세스간 통신에 이용 가능
- 단방향, 양방향 통신 가능
- FIFO 흐름

Property.h에 서버와 클라이언트 공통 선언

#define PIPENAME "\\\\.\\Pipe\\DayTime"

#define IN_BUFF_SIZE    1024

#define OUT_BUFF_SIZE   1024

 

< 서버측에서 사용되는 네임드 파이프 API >

- ConnectNamedPipe 명명된 파이프 생성
- ConnectNamedPipe  파이프 클라이언트를 기다림
- WriteFile 파이프에 데이터를 쓰기
- DisconnectNamedPipe 연결된 파이프 클라이언트의 핸들을 닫음

 

< 클라이언트측에서 사용되는 네임드 파이프 API >

- CreateFile 익명 파이프 생성
- ReadFile 파이프에서 데이터를 읽기
- CloseHandle 익명의 파이프를 닫기

실행 방법 :

1. 서버 실행
2. 클라이언트 실행

서버쪽의 시간을 클라이언트로 보내고 있다.
실행 화면은 다음과 같다.

서버쪽 콘솔 실행 화면

sended :  PipeLine Test 19:09:33

클라이언트쪽 콘솔 실행 화면

PipeLine Test 19:09:33

 

참조 :
권진호님 블로그  http://blog.daum.net/aswip/8429324

프로젝트 : NamedPipe.zip