In this five-part series of articles we are going to discuss client/server applications and the different protocols involved with them. We are also going to look extensively at parts of the TCP/IP protocol which are critical to these kinds of applications. Then we are going to discuss how and what tools to use when translating these protocols into code.
Borland Delphi 6 and higher comes with a suite of components called "Indy" that implements these protocols for us. So we are going to use them in our examples, particularly the TCP/IP-based ones. They are at the heart of any client/server application. While researching this article, I discovered just how fascinating the TCP/IP protocol is and why it is described as the "backbone" of the Internet. Make sure you download the attached source code for the entire "Client Server Applications Made Easy" series so that you can reference it while reading the articles.
What is a client-server application?
A client-server application describes two applications that work together on a (client)request/(server)response basis. The client requests an action or service from the service provider, which is the server. For example, to view this article you had to open up a (client) web browser, type in a URL and send it off to a web server. The web server processed and then returned the (HTML, PHP or ASP) page to your web browser, which then parses the data and displays it in your browser.
This is what is called a client server application. When you send or retrieve your email messages, you use the client-server architecture, in the sense that you use a client, like Outlook, to connect to a mail server somewhere to retrieve your messages. So it is an extremely vital architecture, without which remote data access would not exist.