TROIcsAsyncSuperTCPServer Class

This is a Library topic for RemObjects SDK for Delphi
This page is generated from external data, please do not update
Interfaces — Classes — Aliases — Implements
Contents |
Overview
The TROIcsAsyncSuperTCPServer class implements the server side of an asynchronous TCP based channel, which provides a sophisticated and flexible communication that uses persistent connections to enable true asynchronous calls and server callbacks.
The channel uses a TCP implementation provided by the third party Internet Component Suite library that is shipped with RemObjects SDK.
The TROIcsAsyncSuperTCPServer class uses an asynchronous programming model to process network service requests.
Location
uROIcsAsyncSuperTcpServer.pas
- Ancestry: TComponent | TROComponent | TROBaseConnection | TROServer | TROBaseAsyncSuperTcpServer | TROCustomIcsAsyncSuperTCPServer | TROIcsAsyncSuperTCPServer
Properties
| AckWaitTimeout (declared in TROBaseAsyncSuperTcpServer) |
|---|
|
This property is used by the server to automatically sign up new clients to the event repository, thus making it possible fo them to receive events without manual registration.
|
| Active (declared in TROServer) |
|
Toggles whether the server ready to receive requests from clients. Depending on the server type, changing this property might open/close a network socket or otherwise toggle whether the server will process incoming requests.
|
| AutoRegisterSession |
|
This property is used by the server to automatically sign new clients up to the event repository, thus making it possible for them to receive events without manual registration. The default value is "true".
|
| BlockingEvents (declared in TROBaseAsyncSuperTcpServer) |
|
Affects the processing of events on the server. Setting BlockingEvents = true can delay the dispatching of events; in this case, the dispatching of events through clients will happen in the main thread of the server and thus suspending it. This value is useful however if you want to make sure events arrive in order. If you want to process multiple events at once, you should use the default value BlockingEvents=false; the event is then put in queue and will be dispatched in a separate thread. In this case you'll possibly need to prevent the thread pool queue from overflowing by using the ThreadPool.MaxQueue and ThreadPool.MaxThreads properties.
|
| DefaultResponse |
|
Holds the message that will be sent back to the client if it improperly "welcomes" the server. The default value is "ROSC:Invalid connection string".
|
| Dispatchers (declared in TROServer) |
|
Specifies how incoming requests will be processed and dispatched. Depending on the server type, one or multiple dispatchers can be configured to receive messages from the client. Each dispatcher consists of a Message and an optional Name. Also, each dispatcher can be individually enabled or disabled. Each server must have at least one dispatcher configured, in order to be able to process messages. Essential Sub-Properties
In HTTP based servers (such as the TROIndyHTTPServer, the Name will be appended as folder to the server URL allowing the server to make multiple dispatchers available at different URLs.
|
| Encryption obsolete (declared in TROBaseConnection) |
|
This is DES based enscryption, it is obsolete because works only for Delphi. Use message envelope AES Encryption Envelope instead.
|
| EventRepository (declared in TROBaseAsyncSuperTcpServer) |
|
Specifies the event repository.
|
| GuidToClientMap (declared in TROBaseAsyncSuperTcpServer) |
|
|
| MaxClientsPerPump (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Represents how many clients can be assigned to each message pump. If the value is 0, an unlimited number of clients can be assigned.
|
| MaxPackageSize (declared in TROBaseAsyncSuperTcpServer) |
|
Sets the maximum size of data package that the channel will transport (default is 10485760, 10MB).
|
| MinClientMessagePumps (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Stores the minimum count of message pumps. Equals 1 by default.
|
| OnClientSocketBackgroundException |
|
Fires when a client socket experiences a background exception. This is likely to occur when the client aborts the connection and data still has to be sent.
|
| OnServerSocketBackgroundException |
|
Fires when a server socket experiences a background exception.
|
| OnServerSocketSessionClosed |
|
|
| Port |
|
This is the network socket where the server will be listening. The default values is 8095.
|
| ServeRodl (declared in TROServer) |
|
|
| ServerSocket (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Represents the server socket which is used to accept incoming connections.
|
| SkipAck (declared in TROBaseAsyncSuperTcpServer) |
|
Defines whether "acknowledgement" messages are skipped.
|
| ThreadPool (declared in TROBaseAsyncSuperTcpServer) |
|
Allows to specify the thread pool.
|
Instance Methods
| constructor Create override (declared in TROCustomIcsAsyncSuperTCPServer) |
|---|
|
Creates a new instance of the TROCustomIcsAsyncSuperTCPServer class.
|
| destructor Destroy override (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Frees the instance.
|
| Assign override (declared in TROBaseAsyncSuperTcpServer) |
|
Copies the contents of another, similar object.
|
| CheckProperties virtual (declared in TROServer) |
|
|
| Connect protected (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Begins listen on the ServerSocket on any interface with protocol 'tcp' and port 8095.
|
| Disconnect protected (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Closes the ServerSocket.
|
| DispatchEvent protected (declared in TROBaseAsyncSuperTcpServer) |
|
This method is called when an event fires.
|
| DispatchMessage (IROTransport, TStream, TStream): boolean protected overload (declared in TROServer) |
|
|
| DispatchMessage (IROTransport, TStream, TStream, TROResponseOptions): boolean protected overload (declared in TROServer) |
|
|
| DoAfterEncryptEvent protected virtual obsolete (declared in TROBaseConnection) |
|
|
| DoBeforeDecryptEvent protected virtual obsolete (declared in TROBaseConnection) |
|
|
| DoDecryption virtual obsolete (declared in TROBaseConnection) |
|
|
| DoDecryption2 obsolete (declared in TROBaseConnection) |
|
|
| DoEncryption virtual obsolete (declared in TROBaseConnection) |
|
|
| DoEncryption2 obsolete (declared in TROBaseConnection) |
|
|
| EncodeEventStream protected (declared in TROServer) |
|
|
| GetDispatchersClass protected virtual (declared in TROServer) |
|
|
| GetPort protected override (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Returns the port number which is used with the active ServerSocket.
|
| GetRODLReader protected (declared in TROServer) |
|
|
| GetServerType protected virtual (declared in TROServer) |
|
|
| HasData protected (declared in TROBaseAsyncSuperTcpServer) |
|
This method is called by the TROAsyncSuperChannelWorker when incoming data is present.
|
| IntDispatchMessage protected (declared in TROServer) |
|
|
| IntGetActive protected override (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Returns true if the ServerSocket is assigned and the ServerSocket state is not in wsClosed or wsInvalidState. Otherwise returns false.
|
| IntSetActive protected override (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Sets the specified state of the current TROCustomIcsAsyncSuperTCPServer object.
|
| IsEncryptionUsed protected (declared in TROServer) |
|
|
| Loaded protected override (declared in TROServer) |
|
|
| Notification protected override (declared in TROBaseAsyncSuperTcpServer) |
|
Forwards notification messages to all owned components.
|
| QueryInterface protected override (declared in TROServer) |
|
|
| ROFreeNotification (declared in TROComponent) |
|
|
| RORemoveFreeNotification (declared in TROComponent) |
|
|
| SendRemoveNotification protected (declared in TROComponent) |
|
|
| SetPort protected override (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Sets the ServerSocket port number with the specified Value.
|
| TriggerReadFromStream protected (declared in TROServer) |
|
|
| TriggerWriteToStream protected (declared in TROServer) |
|
|
Events
| onAfterEncrypt obsolete (declared in TROBaseConnection) |
|---|
|
|
| OnAfterServerActivate (declared in TROServer) |
|
Fires after the server has been activated.
|
| OnAfterServerDeactivate (declared in TROServer) |
|
Fires after the server has been deactivated. You can use this event handler to perform any cleanup you might need after the server has stopped processing new requests.
|
| onBeforeDecrypt obsolete (declared in TROBaseConnection) |
|
|
| OnBeforeServerActivate (declared in TROServer) |
|
Fires just before the server is activated. You can use this event handler to perform any initialization you might need before the server starts processing new requests.
|
| OnBeforeServerDeactivate (declared in TROServer) |
|
Fires just before the server is deactivated. You can use this event handler to perform any cleanup you might need before the server stops processing new requests.
|
| OnClientConnected (declared in TROBaseAsyncSuperTcpServer) |
|
|
| OnClientDisconnected (declared in TROBaseAsyncSuperTcpServer) |
|
|
| OnClientSocketBackgroundException (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Fires when a client socket experiences a background exception. This is likely to occur when the client aborts the connection and data still has to be sent.
|
| OnGetRODLReader (declared in TROServer) |
|
|
| OnReadFromStream (declared in TROServer) |
|
Fires after a stream with a request message has been received from the client. The event handler can inspect and possibly modify the stream, before it continues to be processed by the higher levels of the RemObjects SDK framework.
|
| OnServerSocketBackgroundException (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Fires when a server socket experiences a background exception.
|
| OnServerSocketSessionClosed (declared in TROCustomIcsAsyncSuperTCPServer) |
|
Fires when a server socket session closes.
|
| OnWriteToStream (declared in TROServer) |
|
Fires just before a stream with a response message is sent back to the client. The event handler can inspect and possibly modify the stream, before it continues to be sent off to the client.
|
See Also
- Super TCP Channel
- Channels
- Legacy TCP Channel
- Lists
- RemObjects SDK for Delphi: Interfaces — Classes — Aliases — Implements
- RemObjects SDK shared: Data Types – File Types
- other editions
- RemObjects SDK for .NET: Namespaces — Interfaces — Classes — Enums — Implements
- RemObjects SDK for Xcode: Protocols — Classes — Enums — Aliases — Implements
- RemObjects SDK for Java: Namespaces — Interfaces — Classes — Enums — Implements
- RemObjects SDK for JavaScript: Objects

Product: RemObjects SDK
Available Editions: RemObjects SDK for .NET, Xcode, Delphi, Java and JavaScript