Distributed Message Passing System
Client - Server Application
Overall Details
- Three clients, one server.
- Server contains a table, 10 entries. Each entry is a string.
- Client 1 and client 2, add/delete or modify the strings, at random.
- Client 3 prints out the table, sometimes.
More Details
- Server function is pretty much obvious. The printing client (3) gets the data from the server and prints (server does not print) and hence there will be some issues getting the data from the server. (Do not cheat, if the client gets the address of the string from the server, it can print the string, as it is in shared memory. This is cheating as client server programs do not have access to shared memory.)
- The functions server supports, is to be decided by you. There are many ways to do it.
- Client 1 and 2 may have some pre-coded strings. They do operations on the server, at random and uses these pre-coded strings.
- Client 3 does not constantly print, it prints “sometimes”. Hint: Try to put a few yields in client 3 to skip printing.
Stages
- Note that the strings may exceed capacity of a message. The first stage is to do it with strings smaller than message size.
- Second stage would be to redesign the clients and sever to be able to do longer strings. Also note that client 3 should print the table with one request to the server, and not multiple requests.
Snapshots

- Application while running
