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.