| Building on the Web server ideas in Chapter 
              14, this chapter develops a prototype Data Monitoring Client/Server 
              system using sockets. Later in Chapter 
              16-21: Distributed Computing we will discuss more elaborate 
              client-sever systems using RMI and CORBA.) As discussed in Chapter 14, a Web server gets a request from a 
              browser or custom client program, returns the appropriate web page 
              and then breaks the connection ends.. However, the client/server 
              systems discussed in this chapter will instead maintain a connection 
              indefinitely rather than breaking it off as with the web server.
 A client session begins with a log-in procedure for the client 
              with the server. Then the server and client set up I/O streams for 
              their communications. As in Chapter 14, multiple clients can connect 
              to the server because it can create a new thread for each new client.
 For the log-in, for the exchange of commands, and for the transmission 
              of data, the two programs need a simple protocol so that 
              they can understand one another.  To demonstrate the benefits of such a system, we will create server 
              programs that sends simulated data to clients. We will also create 
              client programs that display the data obtained from the server. 
              The client will provide a graphical interface that lets a user request 
              updated info from the server.  You can easily imagine applications where such a system would be 
              very useful. For example, it could apply to a server running on 
              a system that monitors and even controls an experiment or a sensor 
              in a remote location. Using the client programs, someone could log 
              in from anywhere on the web to check the data, apply new settings, 
              etc. The log-in procedure would allow for secure access to the server.          Last update: Dec. 10, 2004 |