A system and method for facilitating communications over a protocol is provided.
The system includes a class factory that holds identifiers associated with determining
which, if any, registered protocol object creator should be employed to create
a protocol object. The protocol object implements an abstract network protocol
base class. The protocol object is employed to abstract details of communicating
over a protocol and to provide a byte stream interface to communications occurring
over the protocol, while removing protocol specific code from an application program.
The method includes creating an instance of a protocol object from a source of
registered protocol handlers based on a request to communicate over a protocol
and using a base class API to communicate over the protocol through the protocol object.