Named pipes are a reliable connection-oriented communication mechanism, and understanding fault handling is the key to successfully using named pipes. Here is a library that provides a very simple API that abstracts much of the complexity involved in working with named pipes.