Ну начнем с того что любой мессенджер имеет клиентскую и серверную часть — то есть является классическим клиент-серверным приложением. И может быть написан вообще на любом языке программирования (питон как-раз не «даже», а скорее «очень даже ничего») - язык тут не принципиален. Причем самое смешное что клиент может быть написан на одном языке а сервер на другом.
Что касается обмена то, он происходит в результате опроса клиентом сервера по своему ключу (номер телефона, логин, id и тд). И только так. Протокол обмена - это уже исключительно ваша придумка и от того насколько он будет «нестандартным» сильно зависит то насколько он будет понятным для других мессенджеров. Как вариант использование готового протокола, например xmmp…
Теперь о том «как устроена передача информации» - по протоколу. По-другому никак. То есть, иными словами, клиент делает запрос типа «привет, я вася», ему отвечают «вася - у тебя 5 сообщений», он отвечает - «ок, я вася - давай я скачаю их» и тд. Вот это и есть протокол, а «вася» - это ключ (предполагается что у мессенджера больше одного пользователя, хотя бывают и исключения).
Сами данные всегда передаются по сети в текстовом виде — то есть вы взяли объект данных на сервере,
сериализовали его, упаковали его в пакет, передали, распаковали и десериализовали, получив исходный объект. И только так. При формировании, передаче и распаковке пакета применяется json -чаще всего, но тут возможны варианты.
От того, какой алгоритм сериализации и десериализации вы применяете и применяете ли при этом какой-то метод шифрования/дешифрования критических важных данных перед сериализацией /десериализацией сильно зависит безопасность передаваемых вами данных. По своему опыту скажу, что данные в популярных мессенджерах защищены достаточно чтобы не париться по этому поводу… если конечно вы не преступник и официально не признаны таковым - в этом случае госорганам будет предоставлена ВСЯ ваша переписка… как бы вы ее не шифровали. Не спасет вас и дополнительное шифрование - невзламываемых шифров просто не существует и заинтересованные в этом службы умеют это делать достаточно хорошо. То есть ваши данные передаваемые по сети защищены хорошо, но только от обывателя - кому это действительно нужно их прочитают.
Другой вопрос что данные имеют свойство устаревать… и их взлом станет бесполезен. Но это сильно другая сказка и рассказывать ее нужно отдельно.
Что же касается примерного кода - то
тут он есть, и как раз на питоне. это я в свое время заинтересовался мессенджерами и копал тему пока мне было интересно, и я не узнал все что мне нужно было на тот момент. На основе этого кода можно написать мессенджер со своим протоколом и он будет работать - это собственно и произошло когда тема в общих чертах стала мне понятна (однако тот мессенджер непубличен и это не обсуждается).
Будут вопросы дополнительно я на них отвечу в личке (см. профиль)