259. Introducing TCP server/client applications
We don’t need to be TCP experts in order to write a Java server/client TCP-based application. While this topic (TCP) is detailed (very well-documented) in dedicated books and articles, let’s have a brief overview of TCP principles.
TCP’s goal is to provide a point-to-point communication mechanism between two endpoints. Once the connection between these two endpoints is established (via sockets) it remains open during the communication until one of the sides closes it (usually, the client). In other words, two processes that are on different machines or the same machine can communicate with each other as in a telephone connection. In the following figure, you can see a classical server-client session based on sockets:
Figure 13.1: Server/client session based on sockets (TCP)
A server/client TCP connection is represented by certain coordinates as follows:
- The server side is represented by...