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

Réseau C Discussion :

problème avec des sockets


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 11
    Points
    11
    Par défaut problème avec des sockets
    Je doit créer un programme en C. C'est programmer une socket

    J'ai un fichier entete.h avec ma structure de donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <stdio.h>
    #include <netinet/in.h>
    #include  <netdb.h>
    #include  <sys/socket.h>
    #include <string.h>
     
    struct donnee
    {
    	char source[50] ;
    	char vieux[30] ;
    	char nouveau[30] ;
    	char lettre ;
    	char choix ;
    };
    et lorsque je veut envoyer mes données (client)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                  struct donnee p ;
    ..........
                  send(s_com,&p,112,0);
    le serveur a ces instructions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while(recv(s_com,&p,112,0))
    				{		.......
    en suite il y a un switch qui correspond à la valeur de p.choix.


    malheureusement, je ne rentre jamais dans un choix, p.choix reste à nul.

    Pourriez vous me conseiller ?

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: A L'aide......
    Citation Envoyé par ddii
    Je doit créer un programme en C. C'est programmer une socket

    J'ai un fichier entete.h avec ma structure de donnée
    #include <stdio.h>
    #include <netinet/in.h>
    #include <netdb.h>
    #include <sys/socket.h>
    #include <string.h>

    struct donnee
    {
    char source[50] ;
    char vieux[30] ;
    char nouveau[30] ;
    char lettre ;
    char choix ;
    };

    et lorsque je veut envoyer mes données (client)

    struct donnee p ;
    ..........
    send(s_com,&p,112,0);
    C'est quoi ce 112 ? tu veux dire sizeof p ?

    Nota : 'p' est un très vilain nom pour désigner l'instance d'un objet. On pense immanquablement à un pointeur et c'est très confus,nt pour les vieux briscards aux neurones fatigués...
    le serveur a ces instructions

    while(recv(s_com,&p,112,0))
    { .......
    en suite il y a un switch qui correspond à la valeur de p.choix.

    malheureusement, je ne rentre jamais dans un choix, p.choix reste à nul.
    Pourriez vous me conseiller ?
    Sans voir le code, c'est difficile. Apparamemnt, c'est du TCP. La connexion est-elle établie ? Les codes retours des fonctions sont ils corrects ? Quel est le nombre de caractères effectivement reçus ?
    Pas de Wi-Fi à la maison : CPL

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Ca a du succes aujourd'hui les sockets.
    Un peu plus de code s'il te plait
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Skyrunner
    Ca a du succes aujourd'hui les sockets.
    Un peu plus de code s'il te plait
    J'ai envoyé le code sur le forum, d'ailleur, je voudrais m'excuser pour l'occasion, je n'ai pas l'habitude des forums. Mon problème se situe à l'envoie de ma structure

    Je lance mon serveur, je lance mon client

    Le client choisit une fonction (pour l'instant la 1ere, car c'est la seule qui est sensé marcher pour le moment)

    le serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     while(recv(s_com,&p,112,0))
    				{
    Après la ligne de réception, pour testé j'affiche le choix de l'utilisateur. Dès le départ, il bouce et n'arrête pas d'afficher la chaine qu'il y a en au début de mon printf. Après que l'utilisateur ai saisi son choix, le serveur n'a pas de changement.

    A partir de là, je suppose que le client a mal envoyé la structure ou que le serveur les reçoit mal
    ....... Merci

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par ddii
    J'ai envoyé le code sur le forum,
    Très incomplet. On ne peut répondre. Il faut un code complet et compilable, mais réduit au minimum montrant le défaut.
    Pas de Wi-Fi à la maison : CPL

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par ddii
    J'ai envoyé le code sur le forum,
    Très incomplet. On ne peut répondre. Il faut un code complet et compilable, mais réduit au minimum montrant le défaut.
    le code se trouve sur ce post :

    http://www.developpez.net/forums/viewtopic.php?t=416808

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Y'a pas de balise code c'est illisible.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    c'est pas dangereux de stocker les donnees dans une structure comme cela ??

    J'ai entendu dire qu'il peu y avoir des decalages entre 2 membres d'une structure ???

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Je ne comprends pas ce que tu veut dire
    Citation Envoyé par chacal096
    c'est pas dangereux de stocker les donnees dans une structure comme cela ??

    J'ai entendu dire qu'il peu y avoir des decalages entre 2 membres d'une structure ???
    Qu'est ce que tu veut dire par décalage ?????

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    je parle du padding entre les éléments

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 17
    Points : 11
    Points
    11
    Par défaut J'ai réussi
    Citation Envoyé par chacal096
    je parle du padding entre les éléments
    C'est bon, j'ai résolu mon problème,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x=send(s_com,&p,sizeof(struct donnee),0);

    x est un int,

    je ne l'avais pas mis, maintenant, ça marche.... Merci beaucoup

Discussions similaires

  1. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17
  2. Réponses: 5
    Dernier message: 19/08/2004, 11h11
  3. [STRUTS] Problème avec des ActionForm
    Par zarbydigital dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/03/2004, 13h49
  4. Problèmes avec des vues
    Par dady dans le forum MFC
    Réponses: 22
    Dernier message: 09/01/2004, 16h26
  5. probleme de gestion de clients avec des sockets....
    Par ludvo dans le forum Réseau
    Réponses: 6
    Dernier message: 25/09/2003, 12h37

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