Due: Wednesday, April 15, 2009 at 5:00 pm.
The goal of this problem set is to give you experience with designing protocols for distributed programs, using the Universe.ss teachpack.
To be supplied later.
Your task is to write a server and client for a distributed TicTacToe game.
From the point of view of the client, the game looks like this:
The server is responsible for assigning roles (X or O), checking that moves are legal, and declaring the game over. If one of the players disconnects before the game is over, the other player should be notified.
The client program need only play a single game; if the user wants to play another game he can start up a fresh client. On the other hand, if you would like to give the client program the ability to start another game, that would be fine.
The server should stay alive after both players disconnect, so that it can run a new game for the next two clients to connect.
If a client attempts to connect when a game is in progress, the server should reject the request, and a suitable message should appear to the user.
Ideally, you should arrange for the game to be run on three computers: one for the server and one for each of the players. The Universe teachpack allegedly allows this, but you may run into trouble with firewalls, etc.
Last modified: Fri Apr 03 16:18:04 2009