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

Windows Forms Discussion :

architecture client/serveur de notification d'un utilisateur connecté dans un windowsForms


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 135
    Points
    135
    Par défaut architecture client/serveur de notification d'un utilisateur connecté dans un windowsForms
    salut
    je veux implémanter une architecture permettant de détecter si un utilisateur est connecté .cette architecture doit notifier un serveur chaque x temps(par example 1mn) et cette notification vat etre utilisé par la coté serveur pour mettre à jour une information sur un BD par example.
    ensuite dans la coté serveur une autre application vat balayer la base pour supprimer les users inactif après Xtemps.
    j'ai développé une solution mais j'ai une doute que c'est très lourd sur le réseau:
    j'ai développé un serviceweb qui va mettre à jour la base dans le serveur.le service web est appelé par la partie client par un appel soa.
    et un autre service windows installé sur le serveur pour balayer les users inactifs. sa marche mais sa risque d'être lourd.
    j'ai besoin de conseil concernant la mailleur méthode car j'ai pas pris en compte dans mon étude du facteur lourdeur du réseau et complication de l'application.
    et merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Imaginons que l'application cliente se connecte au serveur. Elle va probablement envoyer au serveur un login / mot de passer en passant par une méthode (ou web méthode ou ...) Connect. Le serveur sait donc quel client se connecte et peut mettre à jour la liste des clients connectés.

    Cette application cliente utilise ensuite d'autres services du serveur : chacun de ses appels peut mettre à jour la date à laquelle le client a effectué sa dernière opération.

    L'application cliente se déconnecte ensuite du serveur en utilisant une méthode Disconnect : le serveur sait quel client se déconnecte et peut encore mettre à jour la liste des clients connectés.

    Bien entendu, l'application cliente peut planter ou l'utilisateur n'effectuer aucune action pendant un laps de temps déterminer. C'est pourquoi, il faut rajouter un TimeOut : par exemple, si aucune action est faite au bout de 20 minutes, le serveur appelle Disconnect. Si l'application a planté, pas de soucis. Si l'application n'avait pas planté et que le client effectue une nouvelle action, une erreur sera retournée "veuillez vous identifier à nouveau car votre session a expirer" que le client gère en proposant une nouvelle connexion.

  3. #3
    Membre habitué Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 135
    Points
    135
    Par défaut
    c'est excellent
    mais est ce que l'architecture client serveur suppose qu'on soit dans le meme reseau ???ou peut etre appliqué meme dans le cas d'internet???
    j'ai vu qu'il y a tilisation des sokets et que c'est un bon moyen de faire la connection client serveur.mais est ce que l'utilisation des sokets dans une architecture client/serveur en sachant que le client et le serveur sont connecté par internet et pas directement avec le réseau???

  4. #4
    Membre habitué Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 135
    Points
    135
    Par défaut
    peut etre les notions sont flou dans ma tete.
    et j'ai besoin de savoir quelles sont les tehnologies possible à etre utilisé dans mon cas:le client et le serveur sont distant et n'appartiennent pas au meme réseau.

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Ca fonctionne dans tous les cas.

    C'est comme ça que fonctionne par exemple Session en ASP.NET. Une session est créé à la première connexion et on peut soit la détruire par programmation, soit après une période d'inactivité (20 minutes en général).

    Par exemple, tu peux lors de la connexion retourner un identifiant (qui aura le même rôle qu'un cookie) que le client devra passer à toutes ses demandes pour s'identifier. Après, il y a de nombreuses façon de faire. Tout dépends de la technologie de communication que tu utilises.

    Le problème des Socket est qu'il faut ouvrir des ports ce qui implique de modifier la configuration de routeurs etc. Par contre, l'avantage c'est qu'il est facilement possible de pinger le client depuis le serveur pour savoir si il est encore utilisé ou pas.

    Comme tu parlais de WebServices, je suppose que tu es dans une architecture SOA. Le port le plus généralement ouvert est le 80 (HTTP). Les WebServices sont donc un bon moyen de communication.

  6. #6
    Membre habitué Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 135
    Points
    135
    Par défaut
    ok
    donc quelle est la meuilleur technologie a implémenté selon toi???
    je ne sait pas jusqu'a maintenant.
    j'ai utilisé un service web et un simple appel.
    mais c'est pas efficace.
    j'ai trouvé qu'il existe la classe httpwebrequest qui permet d'envoyer une requte du client est ce que sa peut aider??
    si je fait l'appel du service web par cette methode en passant le paramètre tru ou flase. ou je dois dans ce cas développer une application web forms qui va écouter les requètes du client puis passer les demandes vers le service???

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    D'après moi, il n'y a pas de réponse catégorique à :

    Quelle est la meilleure façon de faire ** ?

    Aussi longtemps que ** n'est pas entièrement défini, on ne pourra jamais donner une réponse optimale (et pas meilleure).

  8. #8
    Membre habitué Avatar de salihovic
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Points : 135
    Points
    135
    Par défaut
    merci
    maintenant j'ai pensé a une autre solution:
    je développe une application serveur qui fait le même traitement que le web service la meme méthode
    et jessai de l'appelé de la coté client par un httpwebrequest
    c'est plus léger tu pense???
    je c aps exactement comment passer les paramètres a httprequest(get ou post)
    merci pour l'aide

  9. #9
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Si tu veux des services peu verbeux qui ne surchargent pas la communication, regarde du côté de REST (disponible avec 3.5).

Discussions similaires

  1. [UDP] Architecture Client/Serveur
    Par Bob.Killer dans le forum Développement
    Réponses: 1
    Dernier message: 25/04/2008, 11h09
  2. Application avec architecture client/serveur
    Par loreleï85 dans le forum Développement
    Réponses: 4
    Dernier message: 09/05/2007, 08h16
  3. MySQL en architecture client/serveur
    Par KinF dans le forum Requêtes
    Réponses: 1
    Dernier message: 07/09/2005, 22h10
  4. [Indy] Architecture Client/Serveur
    Par yongblood dans le forum Web & réseau
    Réponses: 9
    Dernier message: 22/08/2005, 01h18

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