Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

2.4 The Networking Module

The networking module in Tools.h++ Professional simplifies distributed computing with network communication classes and thread-hot Internet classes. These solutions handle the complexities of distributed computing for you, so you can focus on the specifics of your application.

2.4.1 The net Library: Network Communication Classes

The net library handles the messy details involved with working with multiple protocols and services, freeing you to work on the specifics of your own applications. The net library's three-layered architecture gives you the flexibility to choose the level of abstraction that's right for your application.

The Communication Adapter Layer gives you fine control over the features of a specific protocol. This layer includes C++ adapters that encapsulate familiar network communication C APIs inside an easy-to-use C++ interface. We include the Berkeley socket adapter, which encapsulates the de facto standard TCP/IP interface, the Berkeley socket API. If you've used sockets in the past, mastering the Berkeley socket adapter is easy.

The Portal Layer lets you write code that's portable to other network protocols. The Portal Layer provides a single interface to multiple platforms, network services, and protocols. The same Portal Layer code can talk to any of the underlying communication adapters, simplifying development and ensuring portability.

The Communication Services Layer provides transport-independent communication services. The IOStream module uses standard C++ iostreams and Tools.h++ virtual streams for communication into and out of a portal. This powerful persistence mechanism lets you create and use streaming operators without coupling your application to a particular output medium or format. The same output function can be used to write to a disk, memory segment, or a network, using binary, ASCII, or XDR formats, simply by changing the virtual stream used for output.

For more information on the net library, please see Part III, "Networking Module."

2.4.2 The int Library: Thread-Hot Internet Classes

The int library makes it easy to develop cross-platform, Internet-enabled applications. The int library works with the net library to let you quickly add communications using the FTP, HTTP, SMTP, and POP3 protocols to your C++ client applications.


NOTE: To use the thread-hot Internet classes, you must install Rogue Wave's Threads.h++, which is not included in Tools.h++ Professional.

For each protocol, the int library supplies two layers of classes: an Agent layer and a Client layer. You can choose the Agent classes for simplicity and ease of use or the Client classes for fine control over the details of the protocol. The Agent classes provide a higher level of abstraction and perform protocol transactions with a single line of code. The Client classes provide control over the protocol, giving you the power to build custom solutions for specific low-level protocol features that your application may require.

The int library also helps you create multithread-hot C++ Internet applications without mastering the intricacies of multithreaded programming; instead, the int library relies on the thread support of Rogue Wave's Threads.h++. For more information on the int library, please see Part III, "Networking Module."


Previous fileTop of DocumentContentsIndexNext file

©Copyright 2000, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.