How does Windows Live Messenger works? there are millions of users typing messages everyday but maybe few of them ever asked themselves how the messenger really works! so here I wrote a little post about it.
Windows Live Messenger it’s an hybrid Client-Server / Peer-to-Peer application.
It basically started as a client-server application.
Let’s say that the client A wants to contact the client B. The client A logs in a CS (Connection Server) through a persistent TCP connection (eventually using proxy,gateway..). Behind the CS there are the PS (Presence Server).
Each person get always the same particular PS, which is where your personal status message, description of your user photo and similar things are stored.

Another element of the architecture is the Address Book. The client A gets directly from the Address Book his list of contacts.
Then the client A tells to his CS who his friends are, the CS subscribes to his friend’s PS to get the presence information that are sent up through the client server connection.
If the client A change his status to OffLine for example, the change goes up to the CS of A, then to the PS of A, then down to the CS of B through the subscription and then down to the client B.
CHAT
If the client A wants to chat, tells to his CS that wants to contact somebody, and the CS tells A to contact a Mixer, which sends IM traffic to a destination, for example to B (passing through the CS of B). Then A and B can communicate through the Mixer. (more…)








