2009-04-17 6 views
1

J'ai un serveur Openfire Jabber avec plus de 75 000 utilisateurs répertoriés. Parmi ceux-ci, 150 ou plus peuvent être en ligne à la fois.Quels utilisateurs sont actuellement connectés à un serveur Openfire Jabber?

Y a-t-il un endroit où je peux collecter les JID (noms d'utilisateur) des utilisateurs actuellement connectés? J'ai accès à la base de données complète aux données sous-jacentes, mais le serveur ne semble pas écrire l'état actuel à la base de données. En raison du nombre d'utilisateurs, les listes ne sont pas utilisées. Un ensemble de données très utile renvoyé proviendrait d'une simple page Web (protégée par mot de passe) avec un JID par ligne, éventuellement avec l'heure de connexion, et peut-être aussi la dernière fois que le compte a effectué une action. ] Les deux derniers ne sont pas aussi essentiels, mais seraient utiles si les données sont disponibles, ainsi que toute autre information disponible concernant la session de l'utilisateur.

Répondre

1

Pas une réponse parfaite, mais la requête que vous voulez est probablement intégrée dans la page session-summary.jsp. Je suis arrivé sur un serveur hébergé localement au http://localhost:9090/session-summary.jsp. Ce que je ne sais pas, c'est si cela est ensuite stocké dans la base de données où il est interrogeable, ou s'il est stocké en interne chez le client. Ce dernier est plus probable.

Les données affichées sont Nom, Ressource, Statut, Présence, Priorité, Adresse IP du client et Fermer la connexion.

+0

Ce serait beaucoup de pages à gratter si. J'espère un peu d'accès DB, ou peut-être une connexion au serveur pour récupérer une grande liste des JID actuellement connectés, peut-être avec les informations supplémentaires comme ci-dessus. –

2

Je ne sais pas si cela aidera, mais j'ai couru à la recherche de fonctionnalités similaires. Tel que défini dans XEP-0045 http://xmpp.org/extensions/xep-0045.html#disco-roominfo:

Une mise en œuvre peut retourner une liste des occupants existants si cette information est publiquement disponible, sinon aucune liste du tout si ces informations sont gardées confidentielles. Les implémentations et les déploiements sont invités à désactiver ce partage d'informations par défaut.

Donc, vous devez vous assurer qu'il fonctionne comme prévu sur Openfire (tous les serveurs XMPP ive rencontré un bug ou deux en eux), et je suppose que vous auriez besoin de coder une certaine logique pour obtenir les résultats.

Bonne chance.

Questions connexes