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 :

Aide à la communication par socket


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Juillet 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Aide à la communication par socket
    Salut, merci de me lire.
    Je développe une appli et c# sur un système distribué, notamment un serveur de données avec plusieurs clients qui doivent envoyer et consulter les données sur le serveur. A mon niveau j'ai réussi à mettre en place cette communication, et donc mon client peut enregistrer les données sur une base se trouvant au serveur. Mais mon problème se trouve au fait que le client parvienne à consulter les données se trouvant sur les serveur (par ex. faire une requête select qui retourne un dataTable et pouvoir l'afficher sur l'interface client via un combo soit un dataGridView. SVP je voudrai avoir un exemple de code simple pour le faire.

    Just au cas où ... Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    //Requête du client vers les serveur
    private void buttonEnvoyer_Click(object sender, EventArgs e)
            {
                try
                {
                    string msg = textBoxMessage.Text;
                    string req = "insert into Tpersonne values('" + textBox3.Text + "','" + textBoxMessage.Text + "', '" + textBox1.Text + "', '" + textBox2.Text + "')";
                    tw.WriteLine(req);
                    tw.Flush();
                }
                catch {labelConn.Text = "Echec de connexion."; labelConn.ForeColor = Color.Red; labelConn.Visible = true; }
            }
     
    //Voici ce que le serveur fait de ma la requête du client:
    public void Communication(){
                    ...
                    while (true)
                    {
                        string req = tr.ReadLine();      
                        if(req.Substring(0,3).Equals("ins")){
                            ModifierUneInfoDansLaBase(req, o);  // Cette méthode permet au serveur d'enregistrer les données  avec la requete issue de tr.readLine()
                            tw.Flush();
                        }                                         
                    } 
    }
    Alors je voudrais faire la même chose mais cette fois avec la requete SELECT qui retourne un dataTable comme expliqué ci-haut. Merci d'avance de m'aider.

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Points : 987
    Points
    987
    Par défaut
    Bonjour,

    Donc premièrement vous devez enlever le SQL de code et déporter l'ensemble du code SQl dans des procédures stockées, fonctions etc. Et mettre en place d'une DAL et des repositories.

    Pour le reste la méthode Communication() fait froid dans le dos n'est ni fiable, ni maintenable, ne renvoie aucune indication en cas d'erreur du genre il s'passe quoi si substr(0,3) n'est pas égale à ins (sans spécification de comparaison parce que azi osef ça passe) ? Flush ? tw ? Votre application serveur semble n'avoir aucun intérêt.

    Votre projet semble avoir de gros problème d'architecture qui doivent être réglés avant toute chose.

    Cordialement.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Juillet 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci de prendre votre temps avec un novice comme mois.
    Mais là je n'ai encore aucune idée, avez-vous un truc complet de ce genre ? je ne qu'un débutant.

    Autrement dit, je voudrai expérimenter cette démarche avant de me lancer dans les procédures stockées, ça me rendrai plus dure, Si vous voyez ce que je vais dire...

    Cordialement

Discussions similaires

  1. Communication par socket TCP entre module windows et linux
    Par =o0 MOH =0o= dans le forum Réseau
    Réponses: 2
    Dernier message: 29/03/2007, 17h04
  2. Communication par socket
    Par cybermarcel dans le forum Ruby
    Réponses: 5
    Dernier message: 14/01/2007, 23h08
  3. Problème de communication par socket
    Par odjosc dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 20/06/2006, 14h57
  4. [Omnis] Communication par Socket
    Par y0p dans le forum WinDev
    Réponses: 4
    Dernier message: 15/06/2006, 09h02
  5. Problème de communication par sockets
    Par Linio dans le forum Entrée/Sortie
    Réponses: 33
    Dernier message: 06/05/2006, 18h50

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