Bonjour,
Websocket et XMPP n’ont rien à voir sur la forme (de même que sur la fonctionnalité ou sur les buts).
Websocket, c’est un framing très très simple (2–3 octets par message) qui permet de faire de l’orienté message sur du TCP, et un handshake composé d’une requête et d’une réponse HTTP « classiques ». Websocket a été créé pour permettre aux navigateurs d’initier des connexions de type asynchrone bidirectionnelle comme une socket classique, mais sans prendre le risque que des applications web puissent parasiter des protocoles préexistants plus que HTTP ne le permet (imagine si une simple page web pouvait se mettre à envoyer du SMTP). Websocket n’a donc pas vraiment d’autres fonctionnalités.
XMPP est un protocole très, très complexe basé sur des échanges de messages XML, destiné à couvrir (presque) toutes les formes de messagerie instantanée possibles, différents mécanismes d’authentification, et une interopérabilité entre des serveurs sans trop de rapport. Tellement complexe que Google l’a adopté, puis abandonné fut un temps, vraisemblablement pour des raisons d’évolutivité et de coût de maintenance.
Pour ton usage, tu peux simplement échanger quelques messages JSON sur une Websocket (si ton but est de faire quelque chose dans le navigateur, sinon une socket tout court peut convenir aussi).
Tu peux mutualiser n’importe quels protocoles réseau au sein d’une même boucle évènementielle avec asyncio
. Tu peux aussi faire du XMPP sur du Websocket (techniquement).
Bonne journée,