SET-SOCKET-OPTION( ) method

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.

Options for the SET-SOCKET-OPTION( ) method
Option Description
TCP-NODELAY An enable indicator, which is either TRUE or FALSE.
SO-LINGER 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-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-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-RCVBUF

SO-SNDBUF

Sets the TCP socket option SO_RCVBUF or SO_SNDBUF.

Set arguments to the desired size 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.
SO-RCVTIMEO Sets 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 Development: Programming Interfaces.

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