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

Silverlight Discussion :

Renseignement conception projet SL?


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut Renseignement conception projet SL?
    Bonsoir,

    J'aurai plusieurs questions concernant le développement d'une application basée sur un serveur ASP.

    J'ai créé un projet SL utilisant un serveur ASP.net. Dans cette même solution, composée donc du Client SL et du projet Web, j'ai ajouté un projet WinForm (C#). Projet qui est en fait un Client/Serveur tcp/ip. {1}

    Au projet Web, j'ai effectué l'ajout d'un service WCF classique. Service que j'ai référencé à la fois pour le projet SL et pour le projet WinForm.
    Cela me permet de faire communiquer mon client SL avec l'application WinForm en passant par le serveur. {2}

    Supposons maintenant un autre utilisateur (Client B), connecté au serveur ASP. Je souhaiterai faire communiquer ce client B directement avec le client A en passant par les appli WinForm de chaque client. Le serveur ayant au préalable transmis l'ip de l'autre client.
    Est-il envisageable de faire communiquer directement l'application Winform du client A avec celle du client B sans passer par le serveur?

    Voilà pour le principe, je désire en effet décharger le serveur pour, par exemple, transférer des fichiers volumineux comme des DataBase, multimédia ou autre. Ces fichiers seraient stockés chez les clients et non sur le serveur. Le serveur ne serait qu'un relais entre chaque utilisateurs connectés, une sorte de tracker.

    J'ai envisager le faît de passer par WPF, mais je désire laisser aux utilisateurs d'autres OS que Windows la possibilité de se connecter au serveur et utiliser le plugin Silverlight. Même si ces derniers ne pourraient utiliser les fonctionnalités propre à l'application WinForm.

    J'espère avoir suffisament été clair. Au besoin, j'ai fait une petite animation en SL pour illustrer le principe que je désire mettre en place:

    http://silverlight.services.live.com...SL/iframe.html
    (Sur la page, cliquez sur le bouton pour démarrer l'animation)

    -{1}-
    Question:
    Lors du déployement de la solution, comment intégrer l'application WinForm?
    Devrais-je la faire télécharger à part ou tout sera fait de manière automatique? ( l'intégrer aux ressources?!) --> notez juste que j'ai une expérience très limitée en ASP.net et que je n'ai encore jamais déployé une telle application sur un serveur.

    -{2}-
    En fonctionement local en utilisant VS, j'arrive parfaitement à faire communiquer le client SL avec l'application WinForm. J'ignore en revanche si cela se passera aussi facilement sur un véritable serveur avec de multiples utilisateurs?!...

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Pour le déploiement du Winforms tu dois obligatoirement passer par un téléchargement.

    ClickOnce semble être ici une bonne solution.

    Si la communication entre SL et Winforms via WCF fonctionne parfaitement en local je ne vois pas de soucis pour plus tard. A partir du moment où tu associes le bon SL avec le bon Winforms ça devrait rouler

    Pour la communication entre les différentes Winforms, tu peux tout à fait te passer du serveur, même si cela reste une bonne idée.

  3. #3
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Merci pour ces éclaircissements!

    Je laisse ce sujet ouvert pour d'autres éventuelles questions.

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    J'aurais juste une note/précision/conseil à te donner. Dans ton animation, tu dis que le client WinForms A envoit des infos (comme des gros fichiers) au client WinForms B sans passer par le serveur.

    Dans ce cas, je te conseille tout de même de passer par un serveur. Ainsi, tu vas avoir la possibilité de découper le fichier envoyé en plusieurs morceaux et faire en sorte que, si l'envoit échoue, tu peux ne renvoyer que les morceaux qui manquent.

  5. #5
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    J'hésite encore!
    En fait j'avais pensé splitter chaque fichier en de multiple partie à l'image de ce qui ce fait pour le peer-to-peer. J'ai fait quelques test et cela ne semble poser aucun problème. Pour une base de donnée de 685Mo, je la split en 173 parts en 69s, puis 22s pour recomposer le fichier sur l'autre client. Ces chiffres me semblent pour l'instant satisfaisant.
    Tu me conseilles de passer par un serveur, mais pour ce genre de tâche de calcul, je pensais justement que l'idéal était de le faire sur les machines des clients pour ne pas surcharger le serveur inutilement, j'ai tout faux?
    J'en profite également pour demander s'il existe une taille idéale de découpage d'un fichier (taille des parts) en vu d'un transfert?
    Tantôt j'ai lu 1024, 256, etc... Je suis un peu dans le brouillard n'étant pas brillant en programmation réseaux...




    Pour l'instant, j'utilise pour communiquer entre 2 winforms le NetTcpBinding. Je me demande s'il ne serait pas plus intéressant d'utiliser du NetPeerTcpBinding ou voire du WS pour le point de vue sécurité?!
    L'ennui, c'est que je suis 'encore' sous XP sp2 et je rencontre des problèmes avec le PNRP. Petite parenthèse, ayant eu dans le passé (très proche!) d'autres difficultés pour faire tourner Kigg (iis7 minimum), j'envisage sérieusement de passer à Windows 7.

    Pour en revenir à nos moutons, y-a-t'il de réels avantages de passer par du NetPeerTcpBinding, WS ou autre pour mon utilisation? Du networkstream ne serait-il pas suffisant? Même si moins souple que du WCF.



    Voilà, je suis quelque peu vague et parfois je divague, vogue la galère! Les lendemains de fêtes, j'ai toujours une âme de poète...


    Merci à vous en tout cas.

    PS: dans une semaine ou deux, j'y verrai sûrement plus clair.

Discussions similaires

  1. Recherche aide pour conception projet
    Par Christophe FRT dans le forum Débuter
    Réponses: 2
    Dernier message: 14/10/2008, 11h10
  2. [Conception] Projet Poursuite d'étude
    Par Angeldu74 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/03/2008, 18h43
  3. [conception] projet de journal
    Par guymar dans le forum Modélisation
    Réponses: 1
    Dernier message: 21/12/2006, 11h09
  4. [conception] projet "gestion d'un hotel"
    Par vincent02 dans le forum Modélisation
    Réponses: 4
    Dernier message: 08/03/2006, 18h47
  5. [conception] Projet Suivi Activité
    Par aideaccess dans le forum Modélisation
    Réponses: 4
    Dernier message: 20/01/2006, 22h54

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