CUJ Logo

May 1996
Vol. 14, No. 05

CLIENT/SERVER PROGRAMMING

Handling Multiple TCP Connections in C++

Oleg Kiselyov
Just shoveling data around in a network takes a certain amount of bookkeeping. Heres some code to handle some of that tedium.

PopMail! A POP3 Mailer for Windows

Arvel Hathcock
Ever wonder what goes on when your machine collects e-mail? Here are a few of the protocols involved.

Object Persistence with Relational Databases

Chuck Allison
A heavy-duty client/server application requires a lot more technology than a simple C++ program. But a judicious use of C++ machinery can really make a difference.

FEATURES

A C Declarator Extractor

Ted Merrill
When code is changing steadily, it can be a nuisance keeping header files in sync with function definitions unless you generate the headers automatically from the definitions.

Versatile Mat1rix Addition and Subtraction

K.B. Williams
Even the simplest of matrix operations is easy to get wrong. Doing it right once and for all can really pay off.

32-bit Memory Management in OS/2

Jens A. Jensen
OS/2 gives you a lot of control over memory allocation, but it also harbors a few surprises for the unwary.

BOOK REVIEW

A Discipline for Software Engineering

Dwayne Phillips

COLUMNS

Standard C/C++: The Header <iterator>, Part 2

P. J. Plauger
As you progress in C++, youll naturally want to use iterators, and even create your own. The header <iterator> provides excellent models for you to imitate and elaborate upon.

C++ Theory and Practice: Perspectives on Grammars and Parsers

Dan Saks
Parsing C++ declarations is easier than most people realize. Understanding how parsers work gives you the proper conceptual model for parsing a declaration "by hand."

The Learning C/C++urve: The Why Files

Bobby Schmidt
Bobby takes a break from his columns routine to investigate a few of the mysteries lurking in C and C++.

C/C++ Sources: Visit the Client/Server Coffeehouse

Victor R. Volkman
On the Web you can find software to write precision timers, to parse .INI files from UNIX, and to perform configuration management in a client/server environment. Victor points us to all this code and more.

Questions & Answers: Even More on rand()

Pete Becker
Random number generation remains one of the most poorly understood topics in programming. This month Pete clears up some questions about rand() raised in one of his previous columns.

DEPARTMENTS

Editors Forum

New Products

We Have Mail