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 :

Envoyer des fichiers du serveur vers plusieurs postes


Sujet :

Windows Communication Foundation .NET

  1. #1
    Membre régulier
    Femme Profil pro
    Etudiante en Développement
    Inscrit en
    Avril 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 106
    Points : 119
    Points
    119
    Par défaut Envoyer des fichiers du serveur vers plusieurs postes
    Bonjour

    Je voudrais savoir s'il existe un moyen de transmettre des fichiers du serveur vers un certain nombre de clients ?

    En fait ce qu'il me faut c'est un moyen pour le serveur de "prévenir" le client qu'il doit mettre à jour certaines données; et non pas le client qui demande régulièrement au serveur s'il y a du nouveau.

    J'avais pensé envoyer les fichiers sur un dossier genre "tempWCF" sur les postes clients et ajouter un FileSystemWatcher sur les clients pour qu'ils effectuent le traitement dès qu'une nouvelle information est reçue. Mais je ne vois pas trop comment mettre cela en place

    On m'a parlé des sockets mais tout cela reste assez flou pour moi

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Quelque solution :
    1) Copier le fichier sur le poste des clients (problème le serveur doit connaitre les postes client, et beaucoup de fichier a copier)
    2) Les Clients regarde un dossier partager sur le réseau
    3) un Thread sur les applications client qui demande au Serveur si il faut qu'ils se mettent à jour (simple mais creer des communication réseau pour rien)
    4) Communication bi-directionnel entre client et serveur et le serveur communique avec les clients quand ils doivent se mettre à jour
    voir combiner la communication bi-directionnelle pour signaler qu'une mis-à-jour doit etre fait une télécharger le fichier

    Maintenant il faudrait voir si un fichier est la meilleur solution
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Membre régulier
    Femme Profil pro
    Etudiante en Développement
    Inscrit en
    Avril 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 106
    Points : 119
    Points
    119
    Par défaut
    La solution 4 m'intéresse beaucoup !
    Si le serveur est capable de communiquer avec différents clients, le fichier ne sera pas nécessaire; je n'aurai qu'à envoyer le nom des éléments à changer avec leur nouvelles valeurs.

    Comment procéder ?
    Je n'arrive pas à "visualiser" comment le client pourrait réagir: pour le serveur c'est facile; c'est son but d'attendre qu'on le sollicite.
    Mais pour le client ça ne fonctionne pas comme ça.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    J'espère que tu aimes la lecture WCF et communication bi-directionnel
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  5. #5
    Membre régulier
    Femme Profil pro
    Etudiante en Développement
    Inscrit en
    Avril 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 106
    Points : 119
    Points
    119
    Par défaut
    Ça m'a l'air très intéressant ! Je m'y met de suite et je teste

    merci beaucoup

  6. #6
    Membre régulier
    Femme Profil pro
    Etudiante en Développement
    Inscrit en
    Avril 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 106
    Points : 119
    Points
    119
    Par défaut
    Alors;

    j'ai essayé de mettre en place cette solution, en reprenant tout point par point (normalement); et lorsque mon web service utilise le callBack pour exécuter une méthode du client; mon client se freeze complètement (les fenêtre ne réagissent plus et deviennent blanches)

    A noter que j'ai dû me mettre en ConcurrencyMode.Reentrant car en mettant Single j'obtenais cette erreur à l'appel du callBack :
    Cette opération aboutirait à un interblocage, car la réponse ne peut pas être reçue tant que le traitement du message en cours n'est pas terminé. Pour autoriser le traitement des messages dans le désordre, spécifiez ConcurrencyMode de Reentrant ou Multiple sur ServiceBehaviorAttribute.
    J'ai le même problème de freeze en mettant sur Multiple

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    tu fais un traitement dans le callback? Il faut surement utilisé un thread
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  8. #8
    Membre régulier
    Femme Profil pro
    Etudiante en Développement
    Inscrit en
    Avril 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 106
    Points : 119
    Points
    119
    Par défaut
    Après investigation, j'ai remarqué que j'appelais le callback de mon web service avant de faire le return de la fonction; donc je pense que mon client attendait la réponse du serveur avant d'éxecuter la méthode, pendant que le web service attendait le client avant de faire le return

    Ca fonctionne très bien maintenant

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/07/2010, 12h11
  2. [Multicast] Transferer des fichiers vers plusieurs postes
    Par johnson95 dans le forum Réseau
    Réponses: 1
    Dernier message: 17/06/2010, 21h04
  3. Envoyer un fichier du serveur vers le client
    Par Isher dans le forum ASP.NET
    Réponses: 4
    Dernier message: 15/05/2009, 09h23
  4. Réponses: 14
    Dernier message: 14/03/2007, 19h32
  5. Réponses: 2
    Dernier message: 22/06/2006, 12h09

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