A pipe is an interprocess
communication mechanism that sends information between processes or threads.
Unlike sockets, pipes are not heterogeneous communication mechanisms and are
subject to the following operating system restrictions.
- Pipe communication is only
supported between similar operating systems. Win32 applications and UNIX
applications cannot intercommunicate.
- Pipes on Win32 platforms can
be used to establish connections between processes on separate machines;
pipes on UNIX platforms only support connections between processes on the
same machine.
- Microsoft Windows 95 does not
support the servicing of pipe connections. Consequently, the
os_pipe_connection_server
class cannot be used on Windows 95 workstations.
If your application needs to
support heterogeneous communication, such as the use of Windows clients with a
UNIX server, use the socket mechanisms in Network<ToolKit>. Refer to Network<ToolKit>
for information about sockets.
Refer to IO<ToolKit>
for information on general I/O behaviors of pipes.
Pipe<ToolKit> contains a set
of classes that provides the following functionality.
- Portability - Though
pipes behave differently between operating systems, Pipe<ToolKit>
brings together the common behaviors that enable portable source code
development for pipe-based communications.
- Consistency - Because of
the consistent C++ interface, programs are simple and easy to understand and
to maintain.
- Simplicity - Provides
easy and intuitive creation and connection to pipes.
- Use with Streaming<ToolKit> - When
used in conjunction with Streaming<ToolKit>, Pipe<ToolKit>
provides both textual IOStream interfaces for pipe communication and binary
object transport across pipes.
This chapter describes how to build
and use pipes in your programs.
Copyright©1994-2026 Recursion
Software LLC
All Rights Reserved - For use by licensed users only.