Hola,, pues te cuento que hablar de CLIENTE - SERVIDOR, no es un tema sencillo de hecho, pues todo depende de lo que se quiera hacer,, Trabajar en dos capas, en 3 capas, en fin...
Por ejemplo si te fijas bien los motores de base de datos Interbase o Firebird, trabajan en CLIENTE - SERVIDOR , escuchando por el puerto TCP 3050. Y la conexión es automática, tú no debes preocuparte por saber cuándo está o no conectado...
Lo que tú debes hacer es empezar a entender el funcionamiento de SOCKETS y para ello puedes apoyarte de los componentes INDY que a su vez traen ejemplos y uno muy práctico es un CHAT y por ahí puedes empezar a entender este funcionamiento básico que se puede hacer con los SOCKETS.
Cordialmente,
LUIS FERNANDO ORJUELA