The de-facto communications layer API is sockets or winsock. There is also a convenient communications layer for WWW access for clients, based on the approach taken by the NCSA Mosaic authors. There is a clean C library called LibWWW, with which it would be relatively straightforward to implement your own client program with your own GUI. This is really outside the scope of this book, however, being aimed at information users and providers primarily rather than programmers.