IPWorks IPC 2020 Python Edition

Questions / Feedback?

PipeServer Class

Properties   Methods   Events   Configuration Settings   Errors  

The PipeServer class is a lightweight server class based on an asynchronous, event-driven architecture. It is designed to balance the load between connections for a fast, powerful server.


class ipworksipc.PipeServer


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 class has a minimum of properties, and events: on_connected, on_data_in, on_disconnected, on_ready_to_send, and on_error.

PipeServer can start to listen on a pipe by setting pipe_name and then setting listening to True. When a client connects the on_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 data_to_send property.

Property List

The following is the full list of the properties of the class with short descriptions. Click on the links for further details.

connection_countThe number of records in the arrays.
accept_dataSetting this property to False, temporarily disables data reception (and the DataIn event) on the connection.
bytes_sentThis property shows how many bytes were sent after the last assignment to DataToSend .
connectedThis property is used to disconnect individual connections and/or show their status.
connection_idThis property contains an identifier generated by the class to identify each connection.
data_to_sendThis property contains a string of data to be sent to the remote host.
eolThe EOL property is used to define boundaries in the input stream using the value of the property.
max_line_lengthThis property is the size of an internal buffer which holds received data while waiting for an EOL string.
single_line_modeThis property shows the special mode for line-oriented protocols.
timeoutThis property specifies a timeout for the class.
default_eolA default EOL value to be used by incoming connections.
default_max_line_lengthThe default maximum line length value for inbound connections.
default_single_line_modeTells the class whether or not to treat new connections as line-oriented.
default_timeoutAn initial timeout value to be used by incoming connections.
listeningIf True, the class accepts incoming connections.
pipe_nameThe name of the pipe.

Method List

The following is the full list of the methods of the class with short descriptions. Click on the links for further details.

configSets or retrieves a configuration setting.
disconnectDisconnect the specified client.
do_eventsProcesses events from the internal message queue.
interruptInterrupts a synchronous send to the remote host.
sendSends data to the remote host.
send_fileSend file to the remote host.
send_lineSends a string followed by a newline.
shutdownShuts down the server.

Event List

The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.

on_connectedFired immediately after a connection completes.
on_data_inFired when data comes in.
on_disconnectedFires when a client disconnects.
on_errorInformation about errors during data delivery.
on_ready_to_sendFired when the class is ready to send data.

Configuration Settings

The following is a list of configuration settings for the class with short descriptions. Click on the links for further details.

CustomSecurityDescriptionA custom security descriptor to define access to the pipe.
InBufferSizeThe size in bytes of the output buffer.
OutBufferSizeThe size in bytes of the input buffer.
BuildInfoInformation about the product's build.
CodePageThe system code page used for Unicode to Multibyte translations.
LicenseInfoInformation about the current license.
ProcessIdleEventsWhether the class uses its internal event loop to process events when the main thread is idle.
SelectWaitMillisThe length of time in milliseconds the class will wait when DoEvents is called if there are no events to process.
UseInternalSecurityAPITells the class whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks IPC 2020 Python Edition - Version 20.0 [Build 8162]