CIM
Distributed instant messaging system for developers
... automatically. You can use Google Protocol Bufferefficient codec. Its protocol supports message encryption. Store routing information, account information, online status, etc. of each client. Message routing server; used to process message routing, message forwarding, user login, user offline, and some operational tools (obtaining the number of online users, etc.).