Implementation of C++ Client/Server Classes

In large development teams using C++, the most senior developers usually design the classes and interfaces, and more junior team members “turn the crank” and implement the private class behavior. In the Client and Server classes, implementing the private behavior is as easy as cutting and pasting the example C code into the structure imposed by your simple design.

Using Dynamically Loaded Shared Objects

One more way to use shared libraries is to load them dynamically at runtime, not as libraries linked and loaded automatically, but as entirely separate modules you explicitly load using the dlopen interface. You might want to use the dl (dynamic loading) interface because it provides greater flexibility for both the programmer and end user, and because the dl interface is a more general solution.


ncurses, which stands for “new curses,” is a freely redistributable clone of the curses libraries distributed with the System V Release 4.0 (SVR4) UNIX distributed by Bell Labs. The term “curses” derives from the phrase “cursor optimization,” succinctly describing how curses behaves. The SVR4 curses package, in turn, was a continued evolution of the curses available with System II UNIX, which itself was based on the original curses implementation shipped with early Berkeley Software Distribution (BSD) UNIX releases.

What is java?

Java was originally developed by Sun Microsystems for programming consumer electronic devices. Java became wildly popular as a client-side programming platform when both Netscape and Microsoft offered runtime support for Java applets in their Web browsers. In this chapter, we will not use Java applets; all sample programs run as standalone Java programs. The real strength of the Java programming language, however, is when it is used to write multi-threaded server applications.

Socket Programming with Java

We saw in the last section how simple it is to use threads in Java programs. Writing programs that use sockets for interprocess communication is also simple if we use separate threads to manage socket connections. Listing 32.6 shows the ExampleSockets class that uses multiple threads to process socket I/O.

Creating Simple 3D Objects Using GLUT

There are several GLUT utility functions for creating both wire frame and solid objects. To create a sphere, use either of the following:

void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);

void glutWireSphere(GLdouble radius, GLint slices, GLint stacks);

Converting HTML to Another Format

There are several ways to convert HTML files to other formats. You can convert the HTML to plain text for reading, processing, or conversion to still other formats; you can also convert the HTML to PostScript, which you can view, print, or also convert to other formats, such as PDF.

Installing a Shell Script

A shell script is a file that contains commands written in a shell command language . You run (or "execute") a script as you would any other command. First, make sure that the script file is executable; if it isn't, you won't be able to execute it .

Making Abbreviations in Emacs

An abbrev is a word that is an abbreviation of a (usually) longer word or phrase. Abbrevs exist as a convenience to you−−you can define abbrevs to expand to a long phrase that is inconvenient to type, or you can define a misspelling that you tend to make to expand to its correct spelling. Abbrevs only expand when you have Abbrev mode enabled.

Recording and Running Macros in Emacs

A macro is like a recording of a sequence of keystrokes−−when you run a macro, Emacs executes that key sequence as if you had typed them. To begin recording a macro, type C−x (. Then, everything you type is recorded as the macro until you stop recording by typing C−x ). After you have recorded a macro, you can play it back at any time during the Emacs session by typing C−x e. You can precede it with the universal−argument command, C−u, to specify a number of times to play it back.

prev [1] [2] [3] [4] next
Items 11 - 20 of 33 displayed.

Back to Home page