Provides a generic interface to communications protocols through communication end points known as sockets. EPOC sockets are similar in concept to Berkeley Software Distribution (BSD) sockets from the University of California at Berkeley.
The Sockets architecture provides a generic client interface, and a server to which particular protocol modules can be plugged in. A client uses a particular protocol by supplying protocol-specific parameters to Sockets API functions.
The TCP/IP API enables clients to use sockets for TCP/IP.
The IrDA Sockets API enables clients to use sockets for IrDA infra-red.
The API has five key concepts: socket server, socket, host name resolver, network database, and address.
The socket server controls access of clients to sockets services, and provides information about the available sockets protocols.
The client interface to the socket server is provided by
RSocketServ
.
The protocol information interface is provided by
TProtocolDesc
.
A socket is a client endpoint to a communications protocol.
The client socket interface allows sockets to be opened, connections made, data read and written, connections listened for and accepted, and address and other options set.
The client socket interface is provided by
RSocket
.
A host name resolver provides an interface to host name resolution services, such as DNS, that may be provided by particular protocol modules. Host name resolution services convert between addresses and names.
The client host name resolver interface is provided by
RHostResolver
.
The network database provides access to network databases, such as LM-IAS with IrDA, that may be provided by particular protocol modules.
The client network database interface is provided by
RNetDatabase
.
An address is used to specify the target for communications.
The base address class is provided by
TSockAddr
. Specific protocol address classes are derived
from this.