When a Pigeon Client requests a connection to the Pigeon Server, the number of concurrent connections allowed by the registered edition is calculated. If the maximum connections are attained, the connection will be rejected. Otherwise, all scheduled active messages that should be read will be posted to the client. The server will also record some information from that client into the database.
After a message marked with a receipt is displayed on the client's scrolling banner, the client sends a notification to the server telling that the message has been successfully posted. This information is recorded into the database.
Once a client has disconnected from the Pigeon Server, the user's information is updated in the database reflecting the new current user status and the socket is liberated to accept another client to use.