The Sockets Client API has four main client interfaces:
RSocketServ: Establishes and reserves resources for the base communication session to the socket server. All other client interfaces require a valid session to be opened.
RSocket: End point for all socket-based communications.
RHostResolver: Interface for making host name resolution queries.
RNetDatabase: Interface for network database access.
The Sockets Client API also defines a number of support classes used in conjunction with the above interfaces. These encapsulate:
Addresses: a base address class TSockAddr is defined. Specific protocol address classes are derived from this. Each address can be identified by its Protocol Family, an integer which identifies protocol suites from others.
Resolution queries: queries made through RHostResolver objects are packaged in TNameEntry descriptors. These are packages for TNameRecord objects that contain TSockAddr objects to pass in addresses.
Protocol information: a comprehensive description of a protocol’s capabilities and properties can be dynamically obtained through the TProtocolDesc class. Capabilities are identified by constants.
Endian issues: BigEndian, LittleEndian, and ByteOrder can be used to order integers to and from network order.