Network Programming Spring 99

Project 5 - CHAT System
Frequently Asked Questions

Q: For the chat system, can it be a cgi program, and people can login and talk?

A: Not unless you do something real cool (like server push). The chat system must be a real-time system, not just a recording of a bunch of messages.

Q:Just to confirm the requirements for the chat server assignment, when a user connects to the server, he/she will be able to select the person he/she wants to talk to and then the messages typed between the two will only be visible between the 2 users, not broadcast to everyone that is logged on to the server, am i correct? Also, are there any other requirements?

A:No. You are describing a talk server, which doesn't make that much sense (if the communication is limited to 2 individuals, why the need for a server - why not just have the 2 programs contact each other directly?).

I've assumed that people either know what Chat is, or have read the RFC for IRC. Communication between 2 users is not enough. Ideally there can be groups (of more than 2 users), each group has an independent session - within a session anything one user sends is received by all others in the group. For this project you don't necessarily need to support groups, but you should support think about supporting something like the following:

  • send a message to everyone.
  • send a message to a single individual. These would be different commands available to any These would be different commands available to any user that is logged in. In this cas it makes sense to have a central server (since messages sent to everyone are distributed by the server).