Wie ist das zu machen?
Das kann man so pauschal nicht sagen, das hängt ja beispielsweise auch davon ab, wie du das ganze realisieren willst. Soll der gesamte Chat über einen zentralen Server laufen oder lässt ein Benutzer den Server lokal bei sich auf dem Rechner laufen und die anderen Benutzer, die lediglich den Client ausführen, müssen dann dessen
IP-Adresse kennen?
Auf jeden Fall musst du dir eine Art Chat-Protokoll überlegen, also wie deine Nachrichten von Client zu Server aufgebaut sein sollen, damit du nicht nur Text-Nachrichten verschicken kannst, sondern dem Server beispielsweise auch mitteilen kannst, wenn sich ein Benutzer an- oder abmeldet o.ä.
Im einfachsten Fall kannst du dir "Schlüsselwörter" überlegen, die dem Server eine bestimmte Aktion seitens des Benutzers mitteilen. So könnte beispielsweise "#login Nickname" dafür stehen, dass sich der Bentuezr mit dem Namen "Nickname" soeben am Server angemeldet hat. Der Server kann auf solche Nachrichten dann entsprechend reagieren und den Clients beispielsweise die aktualisierte Benutzer-Liste schicken.
Hier im Forum sollte sich einiges zu Chat-Programmen und Ideen für solche einfachen Protokolle finden lassen, da so ein Chat-Programm wohl ein recht beliebtes Projekt ist. Leider scheinen viele die eigentliche Arbeit dahinter zu unterschätzen und so wird aus den meisten solcher Projekte oft nur ein Stück Software, das wenn überhaupt nur mehr schlecht als recht funktioniert...