Chapter 10. Connecting Objects

In this chapter:

Thus far, you’ve written only uncomplicated interfaces with methods that take and return simple data types. In this chapter, you will develop a simple distributed architecture that involves passing interface pointers from one object to another—and from this second object to yet a third object. Interface pointers can be passed around in this fashion to maintain connections among peers.

You’ll exploit the sharing of interface pointers by building a simple distributed system that includes a referrer (also called a middleman or a broker), a server, and a client. Figure 10-1 shows the architectural view of this system, which names these three distributed components ChatBroker, ChatServer, and ChatClient, respectively. Briefly, this system works as follows:

  1. A ChatServer registers itself with a ChatBroker.

  2. A ChatClient connects to the ChatBroker and requests to join a chat discussion, which is managed by a ChatServer.

  3. Once a ChatClient has joined a discussion, it can directly send chat messages to the ChatServer that manages the discussion, without any further collaboration with the ChatBroker. In other words, once a client has connected to the server, the broker is virtually out of the picture.

  4. Upon receiving a chat message, the ChatServer broadcasts the message to all connected ChatClients.

Figure 10-1. The chat ...

Get Learning DCOM now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.