PDL TCP/IP protocol

This is a Transmission Control Protocol/Internet Protocol implemented with PDL (Programmable Driver Language).

As with the TCP/IP driver, a PDL can act as server or client. Clients must specify the remote host and port/service with which to connect. servers specify only the port/service on which to await connections.

As the PDL/Tcl code identifies message boundaries, do not use length-encoding.

PDL Options and TCP/IP Options panes

This table shows the parameters on the PDL Options and TCP/IP Options panes:

Parameter Description
PDL Click List to select the PDL script name.
Client Select this for the site to make a connection as a client of another TCP/IP process.
server Select this for the hub to provide a connection point for TCP/IP clients.
Multi-server Select this to have multiple clients simultaneously connect to one port. Click Configure to open the Multi-server Options dialog box. Use this dialog box to configure the multi-server attributes.
Host Click List to open the Hosts List dialog box, where you can select the host name for this connection. This option is unavailable when server is selected.
Port Click Select to open the Select Port dialog box. Use this dialog box to select the server port.

When Type is Client, Port is List.

When Type is server or Multi-server, Port is Select.

Local Binding Address Specify the IP address or a resolvable host name, or click List to make a selection.
TCP Connection Timeout

This is the time-out for the PDL/TCP-IP client connecting to the server.

In the NetConfig file, this is listed as TCP_CONNECTION_TIMEOUT.

To connect to the server, the PDL/TCP-IP thread invokes connect().

Use this option to configure the wait time. This can also be configured using the CL_TCPIP_POLLING environment variable. The polling interval is in the 50-2000 ms range. The default value is 200 ms.

This affects:

  • TCP-IP
  • PDL/TCP-IP
  • Intersite ICL
IPv4/v6 Dual If this mode is enabled and the server is bound to "0.0.0.0" and "::", then one extra listening socket is created for IPv6. Local Binding Address is blank. Two sockets are created: one for IPv4 and one for IPv6, both of which are handled separately.
SSL Select this for SSL (Secure Socket Layer) configuration.

Click Configure to open the SSL dialog box.

  • Mode choices reflect which Type option was selected: Client or server. All clients connecting to a multi-server must have the same configuration, that is, all must be SSL or non-SSL.
  • SSL Protocol is used to select the openSSL version from the menu. When you select an SSL protocol, a description of the selected protocol is shown in the comment field together with the Mode description.
  • SSL Cipher Suites

    Set ciphers in this field. If no cipher is set, then the default cipher suites are used. If this field is not set, then the default cipher suites are used.

    Anonymous mode:

    server: !DEFAULT:HIGH:ADH

    Client: ALL

    Non-anonymous mode:

    HIGH:RC4+RSA:+MD5:!DHE:!3DES:!EXP:!ADH:!AES256-SHA:!AES128-SHA:!EDH:!aNULL:!eNULL:!NULL

Data Options pane

This table shows the parameters on the Data Options pane:

Close after write Select this to close the connection after a write.
Use DRIVERCTL control Select this to have the driver examine DRIVERCTL for control keys such as CLOSE.

The TCP/IP PDL driver handles one driver control directive. It is passed by an outbound message, and is defined in DRIVERCTL in the message metadata. The value to the directive is boolean.

This directive is CLOSE. This closes the connection.

For example:

msgmetaset $mh DRIVERCTL "{CLOSE 1}"

Auto-Reconnect Options Pane

This table shows the parameters on the Auto-Reconnect Options pane:

Auto-reconnect Select this to automatically reestablish a broken connection.
Reopen Time Specify the minimum number of seconds to wait after connection failure before reconnection. The default is 5. This option is available only when Auto-reconnect is selected.
Delay connection until needed To use this feature, select Delay connection until needed and Close after write, and clear Auto-reconnect. The delayed connection feature overrides auto-reconnect all of the time.

See Delay connection until needed.

Start-up Procedures pane

Click Edit to open the TPS Editor. Use this to select the procedures to run when the thread starts. This is a TPS (Tcl Procedure Stream). Use it to trade messages with the remote end.