Hallo Dexter1993
Vielleicht verstehe ich dich nicht richtig. Speichere einfach aktuellen online/offline-Status jeden Users in der DB. Die Freunde eines jeden Users sollten dort auch gespeichert sein. Dann muss dir auch kein Client ständig seine Freunde senden, sondern nur neue Freundschaften..
Dann sind doch immer alle Informationen verfügbar, die du für den Dienst brauchst, oder?