The PipeServer component is a lightweight server component based on an asynchronous, event-driven architecture. It is designed to balance the load between connections for a fast, powerful server.
PipeServer is the server complement of PipeClient (which is used to create client applications). They share a common design philosophy and interface. PipeServer is as easy to use as PipeClient.
The client connections are identified by a ConnectionId, an id generated by the component to identify each connection. This id is unique to each connection. PipeServer's events also have ConnectionId as a parameter to identify the connection to which they are related.
Our main goal in designing PipeServer was to make it easy to use without sacrificing performance. The component has a minimum of properties, and events: Connected, DataIn, Disconnected, ReadyToSend, and Error.
PipeServer can start to listen on a pipe by setting PipeName and then setting Listening to True. When a client connects the Connected event fires, a ConnectionId is assigned, and communication can start. From this point on, the operation is very similar to PipeClient. Data is sent by assigning the data string to the DataToSend field.
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
|Connections||A collection of currently connected clients.|
|DefaultEOL||A default EOL value to be used by incoming connections.|
|DefaultMaxLineLength||The default maximum line length value for inbound connections.|
|DefaultSingleLineMode||Tells the component whether or not to treat new connections as line-oriented.|
|DefaultTimeout||An initial timeout value to be used by incoming connections.|
|Listening||If True, the component accepts incoming connections.|
|PipeName||The name of the pipe.|
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
|Config||Sets or retrieves a configuration setting.|
|Disconnect||Disconnect the specified client.|
|DoEvents||Processes events from the internal message queue.|
|Interrupt||Interrupts a synchronous send to the remote host.|
|Send||Sends data to the remote host.|
|SendFile||Send file to the remote host.|
|SendLine||Sends a string followed by a newline.|
|Shutdown||Shuts down the server.|
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
|Connected||Fired immediately after a connection completes.|
|DataIn||Fired when data comes in.|
|Disconnected||Fires when a client disconnects.|
|Error||Information about errors during data delivery.|
|ReadyToSend||Fired when the component is ready to send data.|
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
|CloseStreamAfterTransfer||If true, the component will close the upload or download stream after the transfer.|
|CustomSecurityDescription||A custom security descriptor to define access to the pipe.|
|InBufferSize||The size in bytes of the output buffer.|
|OutBufferSize||The size in bytes of the input buffer.|
|BuildInfo||Information about the product's build.|
|GUIAvailable||Tells the component whether or not a message loop is available for processing events.|
|LicenseInfo||Information about the current license.|
|UseInternalSecurityAPI||Tells the component whether or not to use the system security libraries or an internal implementation.|