API & MFC/API & 시스템프로그래밍
IPC란?
아몰라
2010. 1. 12. 11:47
Ipc 는 두 프로그램이 상호 통신하며 정보를 교환하는 방법이다.
- 메세지
- 파이프
- 메일슬롯
- 소켓
파일매핑 - 프로세스간에 자원공유
등이 있다.
CreateNamedPipe(파이프명(\\.\pipe\파이프명, Access모드(읽고 쓰기), 파이프유형, 5(같은 파이프 이름 최대의 인스턴스 개수, 4096, 4096, 0(접근을 하기위한 대기시간), 보안기술자);
메세지 보내는 유형
Stream - 파일같은거 보낼 때 PIPE_TYPE_BYTE
Dgram -리얼타임보장 예) 방송 PIPE_TYPE_MESSAGE
CreatenamedPipe()
----------------(1) 이 사이에 클라이언트 접속시 ConnectenamedPipe False로 반환된다.
ConnectenamedPipe(핸들, 0);
if(!Check)&&(GetLastError() == ERROR_PIPE_CONNECTED)) //(1) 상황일시 발생
{
Check = true;
}
if(Check)
{
}
FlushFileBuffer(hfile); //ffulsh와 유사, Disconected 를 해도 문제가 생기는데 운영체제에서 버퍼가 남는 문제가 생길수있다.
직렬화 - 객체정보를 화일에 전송
역직렬화 - 생성자