Bhe come prima cosa SCONSIGLIO ASSOLUTAMENTE L'USO DI IFRAME.
Secondo, ti conviene usare linguaggi quali jquery, js per aggiornare ogni tot secondi il div dove ci sono i messaggi. Certo devi strutturare delle tabelle per controllare i messaggi ricevuti e inviati e potresti fare anche un campo dove vedi se l'altro sta scrivendo: basta che controlli ogni tot secondi il contenuto del campo dove invii il messaggio e se è pieno lo segnali nel database in un apposito campo e dall'altra parte controlli ogni tot secondi se quel campo è pieno significa che stà scrivendo altrimenti niente. Potrebbe essere un inizio.