IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Remplacer une ressource du réseau lorsqu'elle est utilisée


Sujet :

Web & réseau Delphi

  1. #1
    Membre du Club

    Inscrit en
    Décembre 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 52
    Points : 63
    Points
    63
    Par défaut Remplacer une ressource du réseau lorsqu'elle est utilisée
    Bonjour,

    j'ai développé une appli en delphi accessible via un réseau lorsque je fais une mise à jour, je change le nom de l'exécutable car si un utilisateur l'utilise je ne peux pas l'écraser.

    Je cherche un moyen de savoir quels utilisateurs sont en train de l'utiliser pour leur envoyer en suite un message pour avertir qu'une nouvelle version est disponible.

    Merci de vos suggestions.

  2. #2
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Voilà l'idée :

    A) Si tu n'as pas de serveur (un machine windows toujours allumée) a ta disposition

    Dans l'application des utilisateurs :
    1) Tu met un composant TCP serveur du style WSockets v.1.20 que tu peux trouver ici : http://www.torry.net/pages.php?id=220
    L'exemple qui l'accompagne est très simple à comprendre.
    (Ils sont un peu ancien mais devraient compiler sous tous les delphi assez facilement : si tu veux j'ai amélioré les composant pour qu'ils fonctionnent avec Delphi7 et qu'il soient basés sur les Winsock 2.2 - c'est mieux sous XP, je peux te les envoyer par mail quelque part...)
    Il y a aussi un composant Les Delphi Entreprise.

    2) Au démarrage de l'application
    a) grace au composant tu récupère l'adresse IP sur laquelle la machine fonctionne.
    b) tu enregistres cette adresse IP dans un fichier texte (attention nom de fichier unique obligatoire ! généré par exemple avec cette même adresse IP où tu as remplacé les points de l'adresse IP par des A) dans un répertoire particulier de ton serveur de fichier.
    c) tu met le composant serveur à l'écoute.

    3)Dans l'évènement OnData du composant (évènement déclenché quand le composant serveur reçoit un message, afficher le message avec une commande du style showmessage();

    4) quand l'application quitte elle détruit son fichier

    De ton coté
    1) Tu écrit un petit programme avec un TCP client qui essaye de se connecter à chaque serveur déclarés dans les fichiers qu'il a récupéré dans ton répertoire spécial. Pour chaque connection réussie, il envoie un message de ton choix.
    2) quand tu fait ta mise à jour, tu attends que tout le monde ai arrété de travailler (plus de fichiers dans le répertoire).
    3) tu cales ta mise à jour là où elle doit se trouver.


    BA) Si tu as un serveur (un machine windows, peu importe le windows toujours allumée)
    Pour le serveur :
    1) tu écris une petite appli serveur qui sert à envoyer des messages à tous les clients connectés. L'exemple du composant que je t'ai indiqué convient parfaitement.

    Dans l'application des utilisateurs :
    1) Tu mets un TCP client
    2) Tu fais en sorte qu'il se connecte à ton serveur (propriétés Host et Port du composant), au démarrage de l'application.
    3) Lorsque le composant reçoit un message du serveur (OnData) il l'affiche.


    J'espère que ça t'aura aidé.
    Bidouilleuse Delphi

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    peut être une piste ici
    http://www.sysinternals.com/SourceCode.html
    Les sources sont en C/C++ il te faut donc creuser un peu

  4. #4
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Il est bien ce site, c'est avec ses codes source que j'ai fait des composants qui énumèrent les tables DMI du bios sous XP !

    Par contre, pourquoi se faire suer à adapter du C++ quand c'est déjà presque tout fait en Delphi ?
    Bidouilleuse Delphi

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par waskol
    Par contre, pourquoi se faire suer à adapter du C++ quand c'est déjà presque tout fait en Delphi ?
    Nos posts se sont croisés

  6. #6
    Membre du Club

    Inscrit en
    Décembre 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 52
    Points : 63
    Points
    63
    Par défaut
    Merci pour ces réponses je vais essayer de regarder cela cet après-midi.

    Encore merci

  7. #7
    Membre du Club

    Inscrit en
    Décembre 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 52
    Points : 63
    Points
    63
    Par défaut
    Je mesuis inspirer de ce que vous m'avez dit et j'ai rélasier un petit client serveur avec les sockets ca marche .

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/05/2015, 18h49
  2. Réponses: 1
    Dernier message: 17/08/2011, 18h35
  3. Réponses: 2
    Dernier message: 10/05/2007, 23h19
  4. [VBA-E] masquer une combo lorsqu'elle est vide
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 46
    Dernier message: 04/02/2007, 22h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo