A protocol which wishes to provide socket services must be able to
instantiate CServProviderBase-derived objects using
CProtocolBase::NewSAPL(). These objects are used by the socket
server to send data onto the network via the protocol.
In general, protocols are either connection oriented or
connectionless. To a large extent this affects the meaning of many of a
CServProviderBase-derived object’s member functions—these
differences are pointed out in the reference documentation for the relevant
functions.
The CServProviderBase class is used by the socket server
to provide transport services to a single protocol. Several of the calls to
CServProviderBase have pre-conditions attached to them—for
example, a connection oriented protocol must have its local address set (either
by a SetLocalName() or AutoBind()) before it is
opened.
The MSocketNotify class is an abstract base class used
by an CServProviderBase-derived object through its
iSocket member to notify the socket server that various events
have occurred. The MSocketNotify class provides several up-call
member functions.