Suivie des winform ouvertes par les utilisateurs

maintenance_info Messages postés 66 Date d'inscription lundi 5 juin 2017 Statut Membre Dernière intervention 3 janvier 2022 - 9 juin 2021 à 10:31
Whismeril Messages postés 18416 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 1 juin 2023 - 10 juin 2021 à 06:31
Bonjour,

Suivie des winform ouvertes par les utilisateurs

j'ai une application Winform qui sera mis dans un dossier partagé sur réseau local et accessible par plusieurs utilisateurs.
mon objectif est de créer une interface de monitoring pour afficher la liste des utilisateurs qui exécutes l'application avec les nom des forms ouvertes.

merci beaucoup.

1 réponse

Whismeril Messages postés 18416 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 1 juin 2023 624
10 juin 2021 à 06:31
Bonjour

je crois comprendre de ton explication qu'il ne s'agit pas d'une application client serveur, peux tu confirmer ou pas ce point?

Si tu utilises une base de données (j'espère que tu as bien géré les accès concurrents sinon ça va merder...), une solution est de créer un table dédiée où chaque form (une fois l'utilisateur loggué) inscrit une ligne au load et une autre au close. Ton appli de monitoring scruterait cette table en faisant une requête "qui est loaded et pas closed".
Attention, c'est pas la peine d'essayer ça avec un fichier texte, il n'y a pas de gestion d'accès concurrent.

Une autre option est de faire un petit bout de client serveur. Ton appli de monitoring tourne en permanence, l'autre s'y connecte en TCP et envoie au fur et à mesure les informations.
Là le hic, c'est que si ton appli de monitoring plante, ça risque de planter tout le monde.

Dans la même idée, "plus simple", moins de risque de tout planter, c'est que les applis envoie les infos à point réseau adresse UDP. Si ton appli de monitoring est au bout tant mieux, sinon l'info se perd. Par contre, au moment d'allumer ton moniteur, pour connaitre l'état actuel, il faudra que tu demandes à toutes les applis ouvertes de te faire un "rapport", par un message multicast par exemple.

Tu peux aussi essayer de jouer avec des pipes.

Y'a sûrement d'autres options, mais à cette heure là, je ne réfléchis pas beaucoup ;)
0