next up previous
Next: 3.2 Test Cases Up: 3 Your Assignment Previous: 3 Your Assignment

3.1 The Server

Your server will implement a subset of the original IRC protocol. The original IRC protocol is defined in RFC 1459. Because RFC 1459 omits some details that are required to implement an IRC server, we have provided an annotated version of the RFC. For this project, you should always refer to the annotated version of the RFC, not the original version.

We have chosen a subset of the protocol that will provide you with experience developing a concurrent network application without spending an inordinate amount of time implementing lots of features. There are two significant departures from the IRC specification. First, while the IRC architecture includes multiple servers, the server you implement for this project will be stand-alone. Thus, the parts of the RFC which deal with server to server communication do not apply to this assignment. Second, your server will not provide group communication facilities. That is, your server will not implement channels.

Your server must implement the following commands: NICK, USER, QUIT, PRIVMSG, NOTICE, WHO. For all other commands, you server must return ERR_UNKNOWNCOMMAND.

Note: If you are unable to implement one of the above commands (perhaps you ran out of time), your server must return the error code ERR_UNKNOWNCOMMAND, rather than failing silently, or in some other manner.


next up previous
Next: 3.2 Test Cases Up: 3 Your Assignment Previous: 3 Your Assignment
mukesh agrawal 2003-01-28