Ich habe vor kurzem auch einen Chat programmiert.
Dafür hab ich ein sehr gutes/verständliches Tutorial namens "Terminatorzeichen-Protokoll-Tutorial" von Narses gelesen. Wodrin unter anderem auch die Whisper Funktion erläutert wird.
Dort geht es auch noch weiter bis zur Dateiübertragung