The socket server handles all requests for socket type services. It makes use of dynamically loadable libraries known as protocol modules. Developers can implement new protocol modules to provide sockets services over different transports.
TCP/IP and the InfraRed IRDA sockets are examples of EPOC sockets protocol modules.
A protocol module typically provides a number of related
protocols, known as a protocol family. A module implements a protocol family to
identify and create the protocols that it supports. The protocol family base
class is CProtocolFamilyBase
.
A protocol is implemented to provide socket, host name
resolution, network database access, and service resolution services to
clients. Protocols can also bind to other protocols in the stack. The protocol
base class is CProtocolBase
.
Protocol modules implement a socket class for each protocol that
supports sockets. The base class is CServProviderBase
.
Implementations use the MSocketNotify
interface to inform
the socket server that various events have occurred.