L'architettua cliente/server detta in poche parole e questa:

server: "entita" che si oppupa di ricevere richieste e dare risposte!
client: "entita" che fa le richieste al server ed aspetta le risposte!


Per realizzare una chat di tipo client/server:

server: si occupa di accettare le connessioni da parte dei client, a connessione avvenuta dovra gestire l'invio e la ricezione di messaggi.

client: deve poter effettuare una connessione ad un server, inviare richieste al server ed accettare le risposte.

Un altr'architettuta per una chat p-to-p valida solo per due utenti e creare contemporatemente un client capare anche da fungere da server, cioe puoi accettare la connessione di un altro client, e gestirla, e a suo tempo connettersi ad un altro client-server e dialogarci!

Se vuoi che sia piu' preciso, o piu' chiaro (penso di si!! ) batti un colpO!