Key Capabilities
- Generic TCP/IP server endpoint with TLS/SSL and plain text support for arbitrary data streams
- Configurable message delimitation using static delimiters or length-based parsing
- Bidirectional communication with Connection ID-based routing and connection event messaging
Overview
Each TCP Server connector listens on a specified port for incoming TCP traffic, either with TLS/SSL encryption or plain text. Use this connector when CData Arc needs to receive arbitrary data that does not necessarily fit into the constraints provided by other standard protocols. Since TCP traffic is a constant stream that does not intrinsically have a start or end point, you must configure the connector to determine where one message ends and the next begins. The connector supports two approaches:- A static string/character delimiter that ends the current message or begins the next message
- Reading a value in the incoming TCP data to determine how long the message should be
Connector Settings
Settings Tab
Configuration
Settings related to the core configuration of the connector.Message Decoding
Settings related to distinguishing individual messages from the TCP stream.TLS Settings
Settings related to TLS/SSL transport security.Advanced Tab
Keep Alive
Settings related to keep-alive packets sent by the server to maintain an idle connection.Advanced Settings
Settings not included in the previous categories.Message
Message settings determine how the connector searches for messages and manages them after processing.
Note: The settings below are deprecated and hidden by default. They appear only on connectors where they were previously enabled or configured to a non-default value. To retain copies of successfully processed files, right-click the connector in the flow, choose Show Success Path, and connect the success path to a File connector.
| Setting | Description |
|---|---|
| Save to Sent Folder (Deprecated) | Copies files processed by the connector to the Sent folder. Disabled by default. Files saved to the Sent folder are not covered by Encryption at Rest. |
| Sent Folder Scheme (Deprecated) | Groups files in the Sent folder by the selected time interval. Only relevant when Save to Sent Folder is enabled. |
Logging
Settings that govern the creation and storage of logs.
| Setting | Description |
|---|---|
| Log Level | The verbosity of logs generated by the connector. When you request support, set this to Debug. |
| Log Subfolder Scheme | Instructs the connector to group files in the Logs folder according to the selected interval. The Weekly option (which is the default) instructs the connector to create a new subfolder each week and store all logs for the week in that folder. Leaving this setting blank tells the connector to save all logs directly in the Logs folder. For connectors that process many transactions, using subfolders helps keep logs organized and improves performance. |
| Log Messages | Check this to have the log entry for a processed file include a copy of the file itself. If you disable this, you might not be able to download a copy of the file from the Transactions tab. |
Miscellaneous
Miscellaneous settings are for specific use cases.
| Setting | Description |
|---|---|
| Other Settings | Enables you to configure hidden connector settings in a semicolon-separated list (for example, setting1=value1;setting2=value2). Normal connector use cases and functionality should not require the use of these settings. |
Server Tab
Trusted IP Addresses
Automation Tab
Automation
Settings related to the automatic processing of files by the connector.Performance
Settings related to the allocation of resources to the connector.
| Setting | Description |
|---|---|
| Max Workers | The maximum number of worker threads consumed from the threadpool to process files on this connector. If set, this overrides the default setting on the Performance Settings portion of the Advanced Settings page. |
| Max Files | The maximum number of files sent by each thread assigned to the connector. If set, this overrides the default setting on the Performance Settings portion of the Advanced Settings page. |
Alerts Tab
SLAs Tab
Logs Tab
The Logs tab lists the service logs generated by this connector. Each row represents a log file and shows its date modified, file name, size, and status. Use the search bar or the status filter to find a specific log, click a file name to preview or download it, or click Download All Logs to download all of them as a single zip file.
Connected and Disconnected Messages
By default, the TCP Server connector only generates Arc messages when clients transfer data that the connector recognizes as a full message (according to the settings in the Message Decoding section). The connector can also generate Arc messages when a client connects to the server (if Connected Messages is enabled on the Advanced tab) or disconnects from the server (if Disconnected Messages is enabled on the Advanced tab). When these special messages are generated, a special header is added to the Arc message:x-tcpserver-event
This header is set to the value connected when clients are connecting, and disconnected when clients are disconnecting.
This header value must be checked by later connectors in the flow to detect whether a message written to the output folder of a TCP Server connector is one of these special messages.
Sending Messages
The TCP Server connector also uses a special header value to send messages back to connected clients:x-tcpserver-connectionid
This header is added to any output messages generated by the connector, and is set to a Connection ID value that uniquely identifies the connected client. Messages that should be sent back to this client must have this header set to the same value to ensure that the message is sent to the appropriate client.
Since this header is already present on any messages written out by the connector, if the message passes through an Arc flow and arrives back at the Transactions for the TCP Server connector, it still has the same Connection ID value and is returned to the client that sent the original message. If the message cannot be directly routed back to the TCP Server connector, the Connection ID value must be saved and applied as a header (with the name shown above) to any new messages that should be returned to the client.