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:
A
ChatServerregisters itself with aChatBroker.A
ChatClientconnects to theChatBrokerand requests to join a chat discussion, which is managed by aChatServer.Once a
ChatClienthas joined a discussion, it can directly send chat messages to theChatServerthat manages the discussion, without any further collaboration with theChatBroker. In other words, once a client has connected to the server, the broker is virtually out of the picture.Upon receiving a chat message, the
ChatServerbroadcasts the message to all connectedChatClients.
Figure 10-1. The chat ...