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 Communication Foundation .NET Discussion :

probleme de mise a jours lors d'un bug


Sujet :

Windows Communication Foundation .NET

  1. #1
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut probleme de mise a jours lors d'un bug
    Bonjour !

    je voudrais créer une sorte de chat, donc j'ai créé des applications clients et un ensemble de services (serveur) hébergé sur IIS qui permet la connexion et la déconnexion des utilisateur etc...

    maintenant lorsqu'un utilisateur se déconnecte d'une façon normal ou bien il quitte l'application, son application envoie un message au serveur comme quoi il vient de se déconnecter et le serveur mettra a jours les utilisateurs connectés, mais lorsque l'application d'un utilisateur bug ou bien il éteint son ordinateur sans fermer l'application aucun message ne sera envoyé au serveur pour lui dire il a quitté ? comment faire donc pour mettre a jour le serveur (informer le serveur) qu'un utilisateur n'est plus connecté lorsque son application se ferme d'une manière anormale.

    j'ai pensé a faire un thread au niveau du serveur (je ne sais pas trop si c'est faisable) et une méthode etatClient qui permet de récupérer la dernière date de l'appel du client au serveur, le thread compare cette date chaque les 20sec avec la date actuelle, s'il trouve une grande différences (par exemple 10sec) ben il déconnecte le client.

    1- j'ai eu pas mal de bug en utilisant ceci
    2- je n'ai pas su comment faire pour arrêter le thread d'observation lorsque le serveur s'arrête !

    voila, merci pour votre aide

    (au fait on m'a parlé des agents mobiles "je ne sais pas ce que c'est" ils font ca)

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Tout dépend de comment tu as implémenté ton application et de quels bindings tu t'es servi pour la communication.

  3. #3
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut
    ben j'ai utilisé le basicHttpBinding

    Tout dépend de comment tu as implémenté ton application
    je vois pas trop comment te répondre !! pourquoi ca dépend du modèle ?? je veux juste une idée ou un moyen pour le faire ?
    pourquoi ca dépendrait de mon code ???

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Parcequ'avec le binding que tu utilises actuellement, il n'y a pas moyen que le serveur notifie le client. C'est toujours le client qui va à la pêche aux infos.
    WCF propose différents bindings pour faire des scénarios duplex (le serveur peut notifier le client et faire du push). Ces différents scénarios sont étudiés pour répondre à ta problèmatique.
    Le plus simple c'est peut-être qu'à chaque demande d'information de la part du client, il y'ait le menage sur tous les clients trop vieux et que chaque client periodiquement vienne se signaler.

  5. #5
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut
    ben justement !! dans mon cas c'est le client qui pèche les info tu l'as tres bien dit !!

    en effet, je n'ai pas le choix, je dois utiliser ce binding (basic) car en fait mon application cliente tourne sur un pocket PC et le seul binding supporté par netCF est le basicHttpBinding c'est pour ca !!! sinon j'aurais utilisé le binding duplex avec les callback!!

    donc tu vois toujours pas un moyen autre que ma solution ?

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Effectivement ca me parait la solution!

  7. #7
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut
    le fait d'utiliser des thread dans un service hébergé dans IIS c'est normal ? et comment le fermer après ?

  8. #8
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Personellement, j'aurais soit fait en sorte que chaque appel d'un client fasse le menage dans la liste des clients.
    Ou alors une archi un peu plus complexe: IIS qui sert de pont avec un service windows et c'est ce service windows qui fait le boulot.

  9. #9
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut
    et comment le faire pour la deuxième proposition j'ai pas très bien compris ?

Discussions similaires

  1. [SGBD] [MySQL] Problème de mise à jour d'une table
    Par philippef dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 13/01/2006, 15h42
  2. probleme de mise a jour automatique de windowd XP
    Par blandinais dans le forum Windows XP
    Réponses: 4
    Dernier message: 25/12/2005, 23h39
  3. probleme de mise a jour de la BD depuis un formulaire
    Par sebduduf dans le forum Requêtes
    Réponses: 1
    Dernier message: 01/11/2005, 18h07
  4. [Refresh] Probleme de mise a jour graphique
    Par Clorish dans le forum Composants VCL
    Réponses: 4
    Dernier message: 25/07/2005, 18h44
  5. [] [Install] Problème de mise à jour des dll
    Par pepper dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 23/01/2003, 22h34

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