[Overview][Resource strings][Constants][Types][Classes][Variables][Index] | Reference for unit 'simpleipc' (#fcl)

# TIPCServerComm

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Internal message communication component

## Declaration

Source position: simpleipc.pp line 46

`type TIPCServerComm = class(TObject)`
`protected`
`function GetInstanceID; virtual; abstract;`
`procedure DoError();`
`procedure SetMsgType();`
`function MsgData;`
`public`
`constructor Create(); virtual;` |  | Create a new instance of the communication handler
`property Owner: TSimpleIPCServer; [r]` |  | TSimpleIPCServer instance for which to handle transport
`procedure StartServer; virtual; abstract;` |  | Start the server-side of the communication channel
`procedure StopServer; virtual; abstract;` |  | Stop the server side of the communication channel.
`function PeekMessage(); virtual; abstract;` |  | See if a message is available.
`procedure ReadMessage; virtual; abstract;` |  | Read message from the channel.
`property InstanceID: String; [r]` |  | Unique identifier for the communication channel.
`end;`

## Inheritance

`TIPCServerComm` |  | Internal message communication component
`TObject`

## Description

TIPCServerComm is an abstract component which implements the server-side communication protocol. The behaviour expected of this class must be implemented in a platform-dependent descendent class.

The TSimpleIPCServer class does not implement the messaging protocol by itself. Instead, it creates an instance of a (platform dependent) descendent of TIPCServerComm which handles the internals of the commnication protocol.

The client side of the messaging protocol is handled by the TIPCClientComm component. The descenent components must always be implemented in pairs.

## See also

TSimpleIPCServer |  | Simple IPC server component
TIPCClientComm |  | Internal client-side communication protocol

The latest version of this document can be found at lazarus-ccr.sourceforge.net .