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

C# Discussion :

Client/serveur et C#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 92
    Par défaut Client/serveur et C#
    Bonjours,

    Voila, j’ai une question à vous soumettre. Je voudrai réaliser une application client-serveur toute simple. J’ai pour projet de réaliser une application toute simple (ou pas) de client-serveur ou il y aurai pour le moment juste une connexion du client sur un serveur (enfin « serveur » très simple quoi, ultra basic) et je voudrai que cette connexion de mon client se fasse de n’importe ou (c'est-à-dire sur mon réseau domestique par exemple ou sur le web).

    1) Est-ce réalisable ?
    2) Quelle technique employer ? (j’ai vu du coté des socklets mais est-ce la bonne solution ?)
    3) Si cette technique existe et si elle est réalisable avez-vous des exemples de code/voir une documentation abordable ?

    J’ai conscience que ma question est « naïf » mais je débute vraiment dans la partie « réseaux » de la programmation est la plus part des documentations que j’ai trouver sont le plus souvent trop ardu pour moi ou imprécise : s

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Bonjour.

    J'ai fait une proposition ici : http://www.developpez.net/forums/d99...nt-server-tcp/

    Si tu souhaites travailler avec TCP/IP, mon code montre l'utilisation asynchrone de TcpListener. Je pense que ça pourrait convenir, le code est très simple.

    On utilise la classe avec les sockets lorsque l'on a besoin d'une gestion fine sur les datas réseaux (comme utiliser son propre protocole).

  3. #3
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Pourquoi pas des services WCF? C'est pas très compliqué.

  4. #4
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    bonjour,

    tu peut utiliser TCPClient comme client et Tcplistner comme serveur

    il suffit de de lancer ton TcpListner en mode lisning,

    et attendre une connexion de la part d'un client .

    c 'est très simple a utilise et ca implémente le TCP/IP.
    mais il y'a aussi le mode non connecte de UPD qui ne nécessite pas d' établir une connexion

    voila un lien pour commence

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 92
    Par défaut
    Merci pour vos réponse !
    Plusieurs personne mon conseillé WCF, j'ai donc suivie le tutorial http://msdn.microsoft.com/en-us/library/ms734712.aspx
    Mais voila sa marche que en local et pas en réseau...

    Je pense savoir pourquoi : un service WCF doit il être hébergé sur un serveur pour être consommé ? (question naïf je sait...)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 82
    Par défaut
    J'ai fait du "socket" et du webservice pour des applications plus où moins compliquées (chat,transfert de fichier, connexion à un bd etc.).

    Tout dépend de quel est ton but.

    Pour le socket, je penche plus pour un application windows genre chat, tu développes ton protocoles et ton serveur exécute ce que les clients demandent.

    Pour le webservice, c'est idéal pour le transfert d'infos xml, bien que tu puisses aussi faire plusieurs autres choses.

    Sois un peu plus précis dans ce que tu veux. Tu as des tonnes d'exemples sur le net.

    C'est un merveilleux monde que celui du client serveur.

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par quanta Voir le message
    Je pense savoir pourquoi : un service WCF doit il être hébergé sur un serveur pour être consommé ? (question naïf je sait...)
    La réponse est simple : non.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 92
    Par défaut
    Voila j'ai décider (provisoirement) de laisser tomber le WCF au profit d'une étude des classes TCPListener et TCPClient...
    J'ai parcouru le Web et je suis tomber sur de bon tuto qui traitent malheureusement que de l'interaction entre un seul TCPLIstener (le serveur) et un seul TCPClient (le client).
    Maintenant je voudrai chercher a comprendre la gestion de plusieur TCPClient par un TCPListener...
    Hélas je trouve peu de documentation sur ce sujet...
    Si quelqu'un avait un petit lien sa m'aiderai fortement !
    Merci d'avance

  9. #9
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    Bonjour ,
    tu peut collecte tes objets client dans un dictionnaire et parcourir cette dictionnaire pour récupérer les données transmises

    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Dictionary<int, TcpClient> listtcpclients = new Dictionary<int, TcpClient>();
                TcpListener tcpl = new TcpListener();
                while (true)
                {
                    TcpClient tcpc = tcpl.AcceptSocket();
                    listtcpclients.Add(ID, tcpc);
                }
    et fonction qui parcourir cette liste "listtcpclients " a fin de savoir s'il y'a des informations a recevoir


    est une idée pas assez optimise...

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 92
    Par défaut
    Suite a différent message poster ici j'ai réusi à réaliser un prototype de tchat, toute fois il me reste un problème majeur.
    Comme un dessin vaut mieux qu'un long discours voici mon problème en diagramme (voir pj)

    D'autre part, il n'y a que le texte qui puissent être manipuler en Tcp/Ip ? : s
    Peut on envoyer des tableaux par exemple ou de l'xml ?
    Images attachées Images attachées  

  11. #11
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    Bonjour ,

    pour les gros informations tu peut soit les envoyées sous forme de string soit tu peut les envoyées sous forme des bytes.
    un bon buffer ne doit pas dépasse 4ko (4096octets).

    bien ,en TCP ta une avantage hyper bon car c'est ce protocole qui copie et recolle l'infromation en trames "packets". alors tu est sûr 100% que ton information soit reçu par ton destinataire correctement correcte.

    si tu a un Xml essai de lui couverture en tableau de byte et envoie le sous forme des packets "qui ne dépassent pas 4ko".

Discussions similaires

  1. Web contre client/serveur que choisir??
    Par silvermoon dans le forum Débats sur le développement - Le Best Of
    Réponses: 41
    Dernier message: 24/01/2004, 15h53
  2. Quel outil pour du développement Client/Serveur (Win XP) ?
    Par jey_bonnet dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 02/11/2002, 14h57
  3. Réponses: 2
    Dernier message: 01/10/2002, 12h25
  4. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58
  5. Langage le mieux adapté pour application client serveur ?
    Par guenus dans le forum Débats sur le développement - Le Best Of
    Réponses: 4
    Dernier message: 17/06/2002, 15h46

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