Цитата
вот именно "регулярные подтачивания" меня не вдохновляют, лучше я что-то широко используемое возьму.
Только тут есть тонкость маленькая. При смене протокола Вам надо ждать, когда подточат того клиента, которого Вы используете. А в это время Вам заказчики названивают - "игидэ маи увэдомлэния в асыку?"

А своя собственная библиотека - ее самому не долго подточить. Конечно, знать ее внутренности надо хорошо.
Цитата
так брать что-то типа libpurple
Слишком тяжеловесно. Пока один клиент - все хорошо, а когда их станет 300? Кстати, часто общедоступные библиотеки не являются потокобезопасными или содержат такую ахинею в работе с сокетами, что страшно становится.
И опять-же, рекомендую подумать, как общедоступными библиотеками организовать трансляцию подтверждений о доставке. Смысл в том, чтобы сообщение подтверждалось не тогда, когда оно дошло до сервера, а когда оно дошло до конечного клиента.