I don't think you can totally disregard the "interview" part of this question because the question is far too vague to be useful outside of the context of an interview. It might as well be asking us to write a "multi user" program. The interviewer probably expected you to ask more questions. Most notably, to find out what IPC mechanism he requires, and what the gist of the protocol is (i.e., How are they communicating and what are they communicating?).
Without any of that information, you just have to assume the most common: TCP/IP sockets, where the server listens, the client initiates a connection, and the communication is simply a client request followed by server response. In which case, on the paper you might write this,
// server
s = socket();
listen (s);
bind (s, addr_port);
while ((c = accept (s)) != -1)
spawn_thread_or_proc (handle_connection, c);
// client
s = socket();
connect (s, addr_port);
...
to prove you know the basic calls. If more detail is required, then you can flesh out the parameters, return values, error handling, the read/write calls, the thread/proc mechanism, the select/poll mechanism, the dns lookup mechanism.