Qui est actuellement connecté à mon soft ?

cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 - 31 oct. 2006 à 12:03
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 3 nov. 2006 à 13:44
Bonjour

J'ai développé un soft en VB6 et je l'ai déployé au sein de mon entreprise.  

Le programme est installé sur un serveur Windows et mes utilisateurs ont un shortcut sur leur desktop afin de lancer le programme.

Ainsi, si je me connecte en remote sur le serveur, via le Computer Management, "Files in use", je sais qui est actuellement connecté.

Comment puis-je faire pour savoir cela depuis mon PC sans remote connection ?

Est-ce qu'il y a moyen de développer une fonction qui permettrait p.e. de lancer une espèce de ping ?

Il y a bien sûr la possibilité au moment où quelqu'un lance mon soft d'enregistrer dans un fichier texte le login du user et lorsqu'il quitte le soft; de retirer son login.   Toutefois, cette méthode est failible (si le PC se plante, le login restera ad vitam eternam dans le fichier txt).

Voyez-vous une autre solution ?

Tout grand MERCI.

(Rq : cela fait trois semaines que je bute là-dessus et je n'ai pas encore réussi à trouver le moindre code sur Internet pour faire cela).
Christophe

4 réponses

cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
31 oct. 2006 à 16:39
Peut être ta métode de fichier peut fonctionner. Tu effectues un enregistrement toutes les 3 min avec la date d'enregistrement. Le serveur verifie si au bout de 3 min l'enregistrement est toujours valide grâce à la date enregistrée et si non retire l'enregistrement.....
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 nov. 2006 à 02:49
salut,
on peut aussi supposer une connection WinSock.
que le PC plante, ou déconnecte ou redémarre, s'arrête ou je ne sais quoi, la connection sera coupée.

client boot -> connection
déco lors de l'évènement Closed ou Error, ni plus ni moins.

çà devrait convenir
++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
cavo789 Messages postés 168 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 28 juillet 2009 1
3 nov. 2006 à 13:15
Merci YvesYves toutefois j'aimerais éviter ce genre de "truc" qui n'est pas forcément le plus correct.

PCPT : j'ai un peu de mal à suivre.   La connexion devrait se faire sur mon serveur or il y a plusieurs soft qui y tournent...  Comment savoir pour quel soft la connexion est faite ?    Et aussi, comment, depuis mon PC, puis-je savoir quelles sont les connexions ouvertes ?

Christophe
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 nov. 2006 à 13:44
on s'est peut-être mal compris... (j'ai peut-être mal compris ^^)

"J'ai développé un soft en VB6 et je l'ai déployé au sein de mon entreprise." -> ton application est sur le serveur et est utilisée par un ou plusieurs clients (même notion que le winsock) simultanément

"Ainsi, si je me connecte en remote sur le serveur, via le Computer
Management, "Files in use", je sais qui est actuellement connecté." -> tu parles bien de toi (admininstrateur), sur le serveur uniquement

(jusque là, pas beaucoup d'erreur possible....)

"Est-ce qu'il y a moyen de développer une fonction qui permettrait p.e. de lancer une espèce de ping" -> l'application (sur le serveur, mais lancée par le client) étant de toi, tu peux logiquement en modifier la source...

"Comment savoir pour quel soft la connexion est faite"-> adresse IP

"Et aussi, comment, depuis mon PC, puis-je savoir quelles sont les connexions ouvertes" -> lors de la connection (lancement de l'appli), le client se connecte au serveur.
le point à saisir, c'est que l'exe à beau être lancé à partir du serveur, il tourne chez le client.
donc connection vers une appli à créer.

çà se passe exactement comme un multi-chat
ton socket(0) reçoit une connection sur un port défini, il génère un socket(X) dispo (ou ouvre si tu connais le nombre max) et y autorise la connection

de ce X (connu à chaque nouvelle arrivée), tu connais l'IP, port distant, heure de connection (infos à conserver).
quand il quitte ou plante ou etc...., tu écris (fichier, affichage listview, etc..) la déconnection et tu détruis (ou fermes si nombre fixe) ce socket(X).

NB : si le serveur plante, c'est tous tes clients que tu devras déco (ils le seront de force, mais à toi de gérer pour qu'ils retentent de se connecter)

c'est plus clair?
++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
Rejoignez-nous