Sets the specified socket option. TCP supports a number of socket options. Please refer to TCP documentation for a description of these options.

Return type: LOGICAL

Applies to: Socket object handle

Syntax

SET-SOCKET-OPTION ( name , arguments )
name
A character expression which indicates the name of the socket option to be set.
arguments
A character expression that contains a comma separated list of arguments specific for the option.

The following table describes the options ABL supports.

Table 1. Options for the SET-SOCKET-OPTION( ) method
Option Description
SO-KEEPALIVE Sets the TCP socket option SO_KEEPALIVE.

Set arguments to TRUE to turn this option on or to FALSE to turn it off.

SO-LINGER Sets the TCP socket option SO-LINGER.

The arguments are two comma-separated values:

  • The onoff indicator, which is either TRUE or FALSE.
  • The linger time. If the onoff indicator is FALSE, the linger time does not need to be provided.
SO-RCVBUF Sets the TCP socket option SO_RCVBUF.

Set arguments to the desired size (in bytes) of the buffer.

Note: Depending on your platform, the value you supply might be increased to the platform's minimum buffer size, decreased to the platform's maximum buffer size, or rounded up to the next multiple of the platform's segment size. For more information, see your platform's documentation.
Note: See also SO-SNDBUF.
SO-RCVTIMEO Sets the TCP socket option SO-RCVTIMEO.

SO-RCVTIMEO is the timeout length—that is, the number of seconds the socket waits to receive data before timing out.

Set arguments to the desired timeout value in seconds.

If a timeout occurs, READ( ) returns TRUE and the value of BYTES-READ is zero. This is true whether the READ( ) mode is READ-AVAILABLE or READ-EXACT-NUM.

For more information on the interaction of READ( ), the READ( ) mode, and SO_RCVTIMEO, see OpenEdge Programming Interfaces.

SO-REUSEADDR Sets the TCP socket option SO_REUSEADDR.

Set arguments to TRUE to turn this option on or to FALSE to turn it off.

SO-SNDBUF

Sets the TCP socket option SO_SNDBUF.

Set arguments to the desired size (in bytes) of the buffer.

Note: Depending on your platform, the value you supply might be increased to the platform's minimum buffer size, decreased to the platform's maximum buffer size, or rounded up to the next multiple of the platform's segment size. For more information, see your platform's documentation.
Note: See also SO-RCVBUF.
TCP-NODELAY Sets the TCP socket option TCP-NODELAY.

TCP-NODELAY is an enable indicator, which is either TRUE or FALSE.

TCP-STARTTLS Sets the TCP socket option TCP-STARTTLS.

TCP-STARTTLS is a security standard for upgrading an insecure connection to a secure connection using SSL/TLS.

Set arguments to the host name.

To use this option:
  • Connection parameters such as SSL ciphers and protocols, and server name indicator, must be passed in the CONNECT call.
  • Client needs to have imported the server’s certificates for proxied connections.
Note: If a Secure Socket Layer (SSL) failure message appears while trying to use this option:
  • Check whether the client imported the server’s certificates for proxied connections.
  • Check whether the connection parameters passed in the CONNECT call are compatible with the requirements.

The SET-SOCKET-OPTION( ) method returns TRUE if setting the option succeeded and returns FALSE otherwise. An error can occur if:

  • name is not an ABL supported socket option
  • The arguments supplied for the option are not valid
  • The SET-SOCKET-OPTION( ) operation fails