The Sockets Client API has five 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.
RConnection
: Used to startup and manage active connections. Multihoming-aware applications must use this API. It is possible to start
a connection either implicitly, via the RSocket or RHostResolver APIs, or explicitly via the RConnection API.
RSocket
: End point for all socket-based communications.
RHostResolver
: Makes 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 protocols 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.