People like using unity3d because of the integrated assets management system (you can load assets on the web player as the game plays), and its integration with many socket servers used for MMOs
My opinion is not to use unity3d because there is nothing special about it's 2d system, and focus on flash because of its simplicity (now that I think about it, Unity3d is like the flash for 3d games)
There are some HTML5 game engines out there (but not that you need them) but I'm not sure about support for socket servers. You would have to either use a modified web server or code something yourself and it adds a whole new level of pain.
All these pre-built socket servers are built for flash, unity3d, java etc
Smartfoxserver is already used in club penguin and many other popular games, I think its only extend-able with ActionScript and Java and is script based
http://www.smartfoxserver.com/Photon (my personal fav) is very similar to SmartfoxServer but is much more extend-able and relies on compiled libraries, so it supports your c++
http://www.exitgames.com/<just some recommendations to speed up the process>