Client-Server Design

In order to allow for multiple users, Qchat was designed as a client-server application. Qchat server resides alongside the web server. The Qchat server is the only part of the application that is not fully integrated into the WWW. While the server runs independently of the web server, it nevertheless communicates with it by constantly updating user and channel lists. Whenever a new client is started, it in turn connects to the server. Server's name and port number, as well as individual user's preferences are passed as parameters to the client when it is started. Once the client applet is successfully connected to the server and all negotiations are complete, user gets control of the applet and normal operation of Qchat commences. The client and the server communicate with each other via a proprietary protocol which will be described in the Implementation section (Chapter 4-C).