DevX.com: Develop a Client/Server Application on Windows and Linux
Dec 02, 2000, 12:38 (0 Talkback[s])
(Other stories by Jeff Looman)
Re-Imagining Linux Platforms to Meet the Needs of Cloud Service Providers
"Over the past several years, I've had the opportunity to work
on several client/server applications that communicated over a
network. I'd always worked above the data transport layer either
presenting information to the user within the client or responding
to requests within the server. Recently, however, I wrote a library
that contains functionality I found common in the various client
and server applications I'd worked on. In this article, I'll
discuss some of the implementation details associated with
constructing a single-port, TCP/IP client/server application, and
several of the pitfalls that lurk between your application and the
wire your data will be transferred over. I've included a straight C
library that contains a small set of functions you can use to
construct sockets-based client/server apps. With the exception of
platform-specific functions, all the functions discussed in this
article are readily available..."
"For any client/server application, the most basic operation is
shuttling data over a network between the clients and the server.
You can accomplish this task using several approaches, such as
Windows Remote Procedure Calls (RPC), Common Object Request Broker
Architecture (CORBA), or even Telnet or FTP. Ultimately, they all
resolve as calls to some sort of socket library."
"The requirements for my library were pretty simple. It had
to function on both Windows 95/98/NT/2000 and Linux.
Client-specific code had to be as small as possible. And the server
had to allow clients to establish communications on a single port,
then handle further communications with the client within a
separate thread until termination."