작성날짜 : 2011-03-17 |
IPC
IPC 중 읽기만 가능한.. MailSlot
서로 다른 프로세서라도 문자열을 전송할 수 있다.
프로세서간에 Relationship이 강하다면,,
이름없는 파이프 : Unix시스템 같은 곳에서 사용됨.
void main()
{
int fds[2];
pipe(fds,2);
if(fork())
{
close(fds[0]);
}
else
{
close(fds[1]);
}
}
이름이 없기 때문에, 다른 프로세서에서 접근할 방법이 없기 때문에 강한 보안성을 지님.
\\.\pipe\파이프 명
\\ : 로컬 네트워크 망 // 우리들이 사용시 \\\\
. : 내 컴퓨터 // ..
\pipe : 내에 pipe라는 폴더 //\\pipe
CreateNamedPipe(L"파이프 명",액세스,파이프모드,동시에 사용가능한 클라이언트 개수,4096,4096,___,커널속성);
* 파이프 타입
데이터그램형식 : UDP
스트리밍형식 : TCP
Connect NamedPipe(파이프 핸들, 0);
CreateNamedPipe();
while(1)
{
** = ConnectNamedPipe();
if(0 && (GetLastError() == ERROR_PIPE_CONNECTED))
{
0 = true;
}
if(0 == true)
{
CreateThread(Doit,___,파이프핸들.....);
}
}
_______ Doit(LPVOID pin)
{
HANDLE hpipe = (HANDLE) pin;
// to do
FlushFileBuffers(hPipe); // 정상적으로 처리하여라.(전송버퍼에 있는 데이터를 정상적으로 처리)
DisconnetNamedPipe(hPipe);
CloseHandle(hpipe);
}
파이프 닫는부분. 습관화해놓으면 좋음!!
FlushFileBuffers(hPipe);
DisconnetNamedPipe(hPipe);
CloseHandle(hpipe);
'Programming > Network' 카테고리의 다른 글
[Network] TCP 서버 (0) | 2015.05.11 |
---|---|
[Network] IPv4 Stack (0) | 2015.05.11 |
[Network] IOCP (0) | 2015.05.11 |
[Network] connect (0) | 2015.05.11 |
[Network] listen() (0) | 2015.05.11 |