Programming Assignment 10
1 Summary
The (fictitious) company
zmedia
has been contacted by a number of libraries (at schools and
colleges/universities and in towns/cities) that have requested
a site licensing scheme of some kind.
In response, they have decided to develop a
bookz_server
that can "deliver"
bookz
to any
telnet
client.
Ultimately, the bookz_server
will need to verify
that the client request is coming from an IP address
associated with a paying customer and use the appropriate
collection of bookz
. For now, however, those
features are not required.
2 Specifications and Other Documents
zmedia has provided you with the following documents.
3 Additional Specifications/Constraints
In addition to conforming to the documents provided by zmedia (and
all related course policies), your code must satisfy the
following additional specifications/constraints.
-
To handle multiple requests concurrently, the
bookz_server
must be multi-threaded. Specifically, each connection must be
handled in its own thread.
4 Testing Advice
-
Start testing using a single machine (and multiple terminal windows) but,
ultimately, be sure to test your code using multiple different machines
(i.e., with the server on one machine and the clients on other machines).
-
Start testing using a single client but, ultimately, test multiple
simultaneous clients.
-
Make sure your tests include several simultaneous requests for the same
bookz
(i.e., make sure your connection handlers don't
step on each other if they are serving-up the same bookz
).
5 Submission
You must submit all of the files (including the makefile
)
needed to build the bookz_server
.