Scusa ma la domanda purtroppo è troppo generica e vaga, perché innanzitutto una "chat" (pur specificando che è fatta con socket e interfaccia GUI) si può comunque sviluppare in tantissimi modi diversi, differenti per protocollo di comunicazione, tempistiche, logica di autenticazione, ecc...
Riguardo il "vedere tutti i messaggi inviati nella chat room prima che si collegasse", sicuramente e a rigor di logica tenere uno "storico" dei messaggi sul server.
Ma non saprei dirti di più, senza un contesto più preciso.