A software components and methods are provided for implementation of a
client side HTTP stack, which provide high performance and scalability.
Multithreading and completion ports are employed in the client side HTTP
layer in association with sockets and a thread pool, thereby providing
support for business-to-business and other more recent client side
applications which create numerous requests. The invention further
comprises a dedicated scheduler thread adapted to activate an object
scheduled to begin sending requests at a specific time, as well as a
dedicated DNS thread used for resolving symbolic domain names into IP
addresses. In addition, the client side HTTP stack implementation
comprises a dedicated timeout thread with a list of active sockets and
timers associated with each socket to allow finer grain control over
socket timeout.