Exercises: Client Server
Before asking questions regarding this exercise, please review the
lecture notes of Week #01 and #02 as well as the documentation on the Erlang
web pages.
Address Server
In Erlang, implement a server process that manages a simple address database.
This server should be able to handle four types of requests:
insert requests: Such a request adds a new address to the
database (any existing address under the same name may be silently
overwritten).
delete requests: Given a name, any address stored under that
name is to be removed from the database.
lookup requests: Given a name, retrieve and return to the
client the address stored under that name (if available).
stop requests: Terminate the server.
In addition, implement a client function that adds addresses to the database,
retrieves addresses, and deletes them. One way of doing this would be to
write an interactive front-end that communicates with the server. In a second
step, provide RPC stubs to communicate with the address server and rewrite
your client to use these stubs. Finally, using Erlang's after
clause add support for dealing with timeouts during communication with the
server. How does this affect the RPC interface?
COMP9243,
School of Computer Science and Engineering,
University of New South Wales
CRICOS Provider Number: 00098G
This page is maintained by
cs9243@cse.unsw.edu.au
Last modified: Tuesday, 31-Jan-2012 17:58:29 EST
|