Если вы хотите использовать сервер XMPP, взгляните на Ejabberd (написано на Erlang) или, возможно, Tigase (написано на Java)
Если вы хотите создать свой собственный, используйте:
- Twisted Matrix, среда Python для разработки асинхронных приложений
- Erlang, функциональный язык, разработанный с учетом параллелизма.
- Java с асинхронной библиотекой NIO
В зависимости от того, насколько вы хотите быть со спецификацией XMPP, C ++ может быть вариантом, но это будет довольно сложно, так как есть достаточно много логики для реализации: -)
Если вы хотите оптимизировать скорость, определите узкие места вашего приложения и изучите написание конкретных частей в C (синтаксический анализ XML или обработка строк).