블로그 이미지
Kanais
Researcher & Developer 퍼즐을 완성하려면 퍼즐 조각들을 하나 둘씩 맞춰나가야 한다. 인생의 퍼즐 조각들을 하나 둘씩 맞춰나가다 보면 인생이란 퍼즐도 완성되는 날이 오려나...?

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Notice

2015. 5. 11. 15:58 Programming/Network

작성날짜    : 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
posted by Kanais