Hay muchos servidores xmpps (ejabberd, prosody, etc.). ¿Existe una llamada a la API que indique qué marca y qué versión se está ejecutando en ese servidor?
Respuesta1
API? Probablemente la mayoría de los servidores proporcionen alguna API para obtener su nombre y número de versión. Por ejemplo, ejabberd proporciona lallamada API de estado:
$ ejabberdctl status
The node ejabberd@localhost is started with status: started
ejabberd 23.01.58 is running in that node
Pero es evidente que esto no es lo que quieres. Cada servidor proporciona su API personalizada y diferentes formas de utilizarla.
Muy probablemente lo que quieras es usarXEP-0092: Versión del software, que se implementa en la mayoría, si no en todos, los servidores, clientes y componentes XMPP. Usando ese XEP, su cliente puede preguntar a cualquier servidor cuál es el nombre y la versión de su software.
Por supuesto, el servidor puede responder o no responder, o puede proporcionar información falsa. Por ejemplo, ejabberd implementa ese XEP enversión_mod, está habilitado de forma predeterminada, pero se puede deshabilitar para no revelar esta información.