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 :

Lecture de donnees en UDP


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Par défaut Lecture de donnees en UDP
    Bonjour a tous, je suis nouveau sur le forum et develeppeur peu experimente.
    Je realise actuellement un projet sous ogre 3D et mon probleme actuel est de vouloir lire des donnees suivant un protocole UDP. Je programme sous visual studio sous windows. Quels sont les moyens existants permettant de lire des donnees ?
    Merci d avance.
    En ensperant avoir ete assez clair!

  2. #2
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Salut,

    je crois qu'il faut utiliser les sockets.

    Après je sais pas si en C++ ça existe ^^

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Par défaut
    Merci, j ai trouver des exemples de socket en C++ pour gerer une communication UDP mais dois je avoir un programme sur chaque different sur chaque poste? La configuration est la suivante : Pour le moment je veux envoyer des donnees quelconque d un pc et les lire sur un autre. Par la suite le pc qui envoi les donnees sera remplace par un robot envoyant justement ses donnees suivant le protocole UDP.

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Par défaut
    Je me lance on verra bien! Pour le numero de port a utiliser si je comprend bien je choisis un port non utilise quelconque? Je dois egalement faire un socket serveur pour la station emetrice et un socket client sur la station receptrice?

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    En général, il n'y a pas de notion client/serveur en UDP.


    Peut-être la notion arrive-t-elle au niveau de ton applicatif (une machine ne fait qu'envoyer des données, une autre qu'en recevoir), et dans ce cas, seul le 'serveur' doit avoir un numéro de port statique.

    Dans tous les cas on a un truc genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    socket s = socket(UDP,...);
    inet_addr localaddr = (any_ip,PORTNUM);
    bind(s,localaddr);
    ...
    do forever {
       inet_addr srcaddr;
       if (recvfrom(s,&srcaddr,&dgram)) {
           // traitement des données reçues depuis srcaddr
       }
       if (datatobesent != null) {
           sendto(s,&dstaddr,&data);
       }
    }

  6. #6
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Par défaut
    J avou ne pas tout capter, ca ne ressemble pas bcp au tutorial sur les socket du site..

  7. #7
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    Si tu veux lire des données depuis le réseau, tu dois passer par des sockets, llusieurs possibilités pour ça. Toutes les possibilités reviennent plus ou moins au même puisqu'elles utilisent au final les objets systèmes fournis par ton système d'exploitation.

    En C++, tu vas donc trouver plusieurs bibliothèques de plus ou moins haut niveau pour envoyer / recevoir des données sur tes sockets. Parmi ces bibliothèques, on peut citer la fameuse winsock (fonctionnant sous windows), et boost.asio : de haut niveau et pas forcément la plus simple d'accès, elle fournit un beau modèle objet, très pratique, robuste et agréable à utiliser.

    Tu trouveras des dizaines d'autres bibliothèques permettant de gérer les sockets, avec tout autant de tutoriels.

    Les histoires de numéro de port ou de client/serveur dépendent du protocole que tu veux mettre en place. Dès lors qu'un programme devra recevoir des données (UDP ou TCP, ça n'a pas d'importance), son numéro de port devra être connu des autres programmes, c'est tout.

Discussions similaires

  1. Probleme de lecture de donnees
    Par cedji dans le forum LabVIEW
    Réponses: 1
    Dernier message: 03/06/2010, 12h09
  2. tableau dynamique lecture des données d'un userform à un autre
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2009, 17h40
  3. format de lecture d'un socket udp
    Par fennec62 dans le forum Langage
    Réponses: 6
    Dernier message: 24/11/2008, 23h13
  4. [SQLLite] Lecture des données dans un fichier .db
    Par PedroBD dans le forum PHP & Base de données
    Réponses: 31
    Dernier message: 13/11/2006, 17h12
  5. contraint CHECK avec lecture de données sur une autre table ?
    Par mamiberkof dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/05/2006, 09h14

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