Suivie des winform ouvertes par les utilisateurs

Signaler
Messages postés
61
Date d'inscription
lundi 5 juin 2017
Statut
Membre
Dernière intervention
9 juin 2021
-
Messages postés
16017
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 juin 2021
-
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

Messages postés
16017
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 juin 2021
549
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 ;)