Info (Socket function)

From m204wiki
Revision as of 01:29, 15 November 2011 by JAL2 (talk | contribs) (→‎Syntax terms)
Jump to navigation Jump to search

Retrieve information about the socket (Socket class)


This method retrieves the information that you request about the socket. The Info function has an effect similar to its equivalent $function, $Sock_Info.

Syntax

%string = socket:Info( string)

Syntax terms

%string A string variable to contain the returned information.
socket A variable or an expression that is a reference to a Socket object.
string One of the following strings:
CAPTURE Retrieve current print capture setting of socket (see Capture). The socket need not be OPEN.
REMOTE Retrieve dotted IP address of remote host, followed by blank and remote port number. The socket must be OPEN; if it is not, the string RESET is returned.
STAT Retrieve socket state. The socket need not be OPEN. The returned value will be one of the following:
CONN Socket OPEN and enabled for sending in both directions
FINR Socket OPEN, remote stopped sending, local enabled for sending ("FIN received but not sent")
FINS Socket OPEN, local stopped sending, remote enabled for sending ("FIN sent but not received")
FINBOTH Socket OPEN, local and remote stopped sending ("FIN sent and received")
RESET Socket is RESET (no longer connected)

Note: Since the status of OPEN sockets may include several more status types in future releases, test for OPEN sockets by testing for the string RESET:

If %sock:Info('STATUS') ne 'RESET' ...

opt Any of the strings that may be passed as the first argument to the Set function (for example, CHAR or PRSTOK). For some of these, the socket must be OPEN; if not, the string RESET is returned. To view the arguments that require an OPEN socket, see Set.

Usage notes

  • If Info is invoked with a Socket object that is RESET, the results depend on several factors:
    • If the string argument is ONRESET, the operation is performed normally, with no indication of the fact that the socket is RESET.
    • Otherwise, if string is a keyword that does not require an OPEN socket, and ONRESET CONTINUE, CANCELC, or LABELC is in effect for the socket, the string RESET is returned, and the last error information is set.
    • Otherwise, if ONRESET CONTINUE is in effect for the socket, the string RESET is returned, and the last error information is set.
    • Otherwise, the request is canceled, or the ONRESET label is jumped to, as explained in " Handling connection errors and RESET sockets".