NamedPipe Class

The NamedPipe class, a subclass of the Connection class, provides a generalized interface for communicating with external systems. The NamedPipe class uses the Windows Named Pipe feature to establish a two-way communication channel between a JADE process and another JADE or non–JADE process.

One process must offer the server end of the Named Pipe channel, and another process can then connect to the client end of the channel. After the connection is made and while it remains valid, both sides of the pipe have equal status (that is, the terms server and client do not apply).

The client node has the same software and hardware requirements as a JADE presentation client and the server node has the same software and hardware requirements as a JADE standard client. For details about the current operational requirements, see "Software Requirements" and "Hardware Requirements", in Chapter 1 of the JADE Installation and Configuration Guide.

The NamedPipe class objects are transient. If an attempt is made to create a persistent NamedPipe object, an exception is raised. Multiple instances of the pipe can be opened, by running multiple copies of the JADE application from the same jade.exe executable program, where each application opens the same pipe name.

The NamedPipe class supports both synchronous and asynchronous operations, as follows.

Only one synchronous or asynchronous read operation can be in effect at each end of each instance of the pipe. Multiple asynchronous write operations can be in effect.

Opening the server end of the pipe waits until the other end of the pipe is connected. Opening the client end of the pipe fails immediately if the server end of the pipe has not been offered.

The timeout property and the listenContinuous and listenContinuousAsynch methods reimplemented from the Connection superclass are not supported for the NamedPipe class. An exception is raised when attempting to use these methods.

For details about the property and methods defined in the NamedPipe class, see "NamedPipe Property" and "NamedPipe Methods", in the following subsections.

Connection

InternetPipe