|
||
The Sockets Client API has six 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. It is possible to start a connection either implicitly, via the RSocket or
RHostResolver APIs, or explicitly via the RConnection API. The RConnection creates a default subconnection.
RSubConnection
: Used to organise channels within a connection and manage Quality of Service. Multihoming-aware applications must use this
API. Only valid in the context of an RConnection.
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 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.