XMPP sounds like the best option since it's a communications and chat protocol. The others could possibly also be used, but then you'd have to reinvent most of what is already in XMPP.
There are multiple servers already available, all of which cover at least basic chat.
On the Windows Store client side it's a bit harder, but the MatrixXMPP SDK should work well. I've not used in personally though, so you'll have to do your own research that it covers all that you need.