Named Pipes고정닉 파이프

2 minute read

http://msdn.microsoft.com/en-us/library/aa365590(v=VS.85).aspx

Named Pipes

named pipe is a named, one-way or duplex pipe for communication between the pipe server and one or more pipe clients. All instances of a named pipe share the same pipe name, but each instance has its own buffers and handles, and provides a separate conduit for client/server communication. The use of instances enables multiple pipe clients to use the same named pipe simultaneously.

네임드 파이프는 pipe server과 한개 이상의 pipe clients간의 단방향 또는 양방향 커뮤니케이션을 하는 파이프다. 네임드 파이프는 동일한 파이프 이름을 갖지만share 각각의 인스턴스instance는 각자 버퍼buffers와 핸들handles를 갖고 클라이언트/서버간 커뮤니케이션 통로를 제공한다.  instance를 쓰면 여러 pipe client가 동시에 같은 이름의 파이프를 쓸 수 있다.

Any process can access named pipes, subject to security checks, making named pipes an easy form of communication between related or unrelated processes. 어떤 프로세스건 보안체크만 하면 네임드 파이프에 접근할 수 있다.

네임드 파이프는 쉬운 communication방법이다. 그게 연관된 프로세스이건 연관없는 프로세스이건간에..

Any process can act as both a server and a client, making peer-to-peer communication possible. As used here, the term pipe server refers to a process that creates a named pipe, and the term pipe client refers to a process that connects to an instance of a named pipe. The server-side function for instantiating a named pipe isCreateNamedPipe. The server-side function for accepting a connection is ConnectNamedPipe. A client process connects to a named pipe by using the CreateFileor CallNamedPipe function.

모든 프로세스는 서버나 클라이언트가 되서 p2p통신을 할 수 있다. 네임드 파이프를 만드는것이 서버, 네임드 파이프에 접속하는게 클라이언트다. 서버에서 네임드 파이프를 만드는 것은 CreateNamedPipe함수. 서버에서 네임드 파이프에 접속하는것은 ConnectNamedPipe함수. 클라이언츠에서 네임드 파이프에 접속하는것은 CreateFile 또는 CallNamedPipe 함수이다.

Named pipes can be used to provide communication between processes on the same computer or between processes on different computers across a network. If the server service is running, all named pipes are accessible remotely. If you intend to use a named pipe locally only, deny access to NT AUTHORITYNETWORK or switch to local RPC.

네임브 파이프는 로컬 컴퓨터나 리모트 컴퓨터에서 모두 접속이 가능하다. server service가 실행중이라면 모든 네임드 파이프는 원격 접속이 가능하다. 네임드 파이프를 로컬에서만 사용할 생각이라면 NT AUTHORITY/NETWORK를 꺼 놓던가 local RPC로 돌려놔라?

For more information, see the following topics:

 

 

Send comments about this topic to Microsoft

Build date: 1/27/2011