Nämlich erstens : Den Chatverlauf in einer DB, in unterschiedlichen Tabellen speichern.
Der Socketserver muss das unterstützen, d.h. er braucht eine API wo Du die Daten abgreifen kannst. Das DB-Design hingegen und alles jenseits der API musst Du schon selbst machen.
Und zweitens : Ein Client kann sich nicht aussuchen von welchen anderen Clients er Nachrichten empfangen will. Bzw. welche bei ihm ankommen. Wenn ich das nach meinen Wünschen modifizieren könnte müsste ich nicht fragen.
Auch da musst Du Dich schonmal ein bischen selbst mit dem Thema p2p befassen.
mfg