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 :

ping sur système embarqué linux langage C


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut ping sur système embarqué linux langage C
    Bonjour,
    J'ai un souci pour effectuer un ping en langage C sur un système embarqué avec noyau linux :
    Sous linux la fonction ping codée fonctionne comme il faut par contre je n'arrive pas à la compiler sur le système embarqué car il ne connait pas la fonction gethostbyname(const char*) indispensable pour effectuer le ping.
    gethostbyname(const char*) ne se trouve pas dans les librairies du noyau linux.
    En fait il me faudrait la librairie : libwsock32.a
    Savez vous comment je peux faire pour intégrer cette libraire? est ce faisable?
    Merci par avance
    Clem

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Pas la bonne lib, c'est clair: le "w" de libwsock32.a signifie "windows"...

    libwsock32.a n'est pas une bibliothèque GNU/linux, c'est une bibliothèque MinGW.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut suite
    Pourtant cette librairie est sous linux : /usr/i586-mingw32msvc/lib/libwsock32.a.
    Y a-t-il un moyen de l'intégrer au système ou de la remplacer?
    merci par avance

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Lis le nom de dossier, c'est bien une bibliothèque MinGW. C'est pour créer des programmes pour Windows, depuis Linux (MinGW sous Linux est donc ce que l'on appelle un cross-compilateur).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Pour que ton système embarqué supporte la fonction gethostbyname(), il faut que ce système supporte la résolution DNS.

    Ce n'est pas toujours le cas sur un système embarqué. Est ce que tu as ce qu'il faut au niveau de ta carte embarquée pour paramétrer et configurer la résolution DNS.

    Et si tu entres une adresse IP, cela marche mieux (192.168.0.1 par exemple) ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Merci pour vos réponses.
    Quand je rentre une adresse IP comme l'exemple, le prog fonctionne correctement. C'est dès que je rentre une adresse comme www.google.com que ça plante :.. gethostbyname(..) convertie l'adresse web en adresse IP ce qui est utilisé ensuite pour faire le ping.
    Sinon, le système ne supporte pas la résolution DNS.
    Il faudrait voir du côté de quelle librairie? glibc?
    Il faudrait que j'installe un autre cross compilateur?
    Merci par avance

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut Rectification
    "Est ce que tu as ce qu'il faut au niveau de ta carte embarquée pour paramétrer et configurer la résolution DNS?"
    Oui, le système embarqué a ce qu'il faut.

  8. #8
    Membre averti Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Points : 414
    Points
    414
    Par défaut
    Est ce que la carte est configuré pour utiliser un serveur DNS ???

    Si c'est la cas, il auras nécessairement une autre fonction permettant de faire la résolution DNS avec le serveur ???? utilisé par d'autre module dans la carte, il faut vérifier ??????
    "La créativité est faites d'attention et de respect pour les petits faits de la vie."

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut Résolution DNS sur serveur
    Comment pourrait s'appeler en anglais ce genre de fonction permettant de réaliser une résolution dns sur un serveur? DNShostname ?
    Le code source du système embarqué contient 12500fichiers, c'est pas évident de chercher là dedans.

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut Résolution DNS sur serveur
    J'ai retenu quelques fonctions qui pourrait peut être satisfaire :
    -GetDnsServerList : Return the string array of DNS names for the server list
    -DNSRDGetIp
    -DnsHtoN -- Description : It changes the format from host to network byte order
    -DnsNtoHRR -- Description : Reads a resource record from a domain message into a host structure
    -DnsExpand -- Description : Converts a compressed domain name into human readable format
    -DnsNtoH -- Description : It changes the format from network to host byte order

    DnsExpand semble correspondre le mieux non?
    C'est une fonction exactement équivalente à gethostbyname que je dois chercher?

  11. #11
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Plutôt DNSRDGetIp, non?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  12. #12
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut DNSRDgetIP
    Merci pour votre aide à tous!
    DNSRDgetIP :cette fonction ne récupère pas plutôt l'adresse IP du système embarqué?
    Ou bien DNS c'est forcément relié à l'adresse web du serveur qui receptionne le ping?

  13. #13
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut pb résolu
    Merci bcp pour votre aide, j'ai trouvé une fonction qui convertie une adresse dns en adresse ip : DNSResolve(..)

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

Discussions similaires

  1. Installation d'une webcam sur system embarqué linux
    Par sucre13 dans le forum Matériel
    Réponses: 0
    Dernier message: 13/01/2010, 15h07
  2. Accès registre sur système embarqué
    Par laurent_r dans le forum Ada
    Réponses: 8
    Dernier message: 06/03/2009, 22h32
  3. comment installer java sur un système embarqué
    Par kris1 dans le forum Développement Mobile en Java
    Réponses: 1
    Dernier message: 19/02/2008, 14h57
  4. Réponses: 4
    Dernier message: 08/04/2007, 11h49
  5. Embarqué - Linux sur DSP Texas
    Par Houbaa dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 30/05/2006, 21h49

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