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++Builder Discussion :

Débutant : utilisation de UDP


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Par défaut Débutant : utilisation de UDP
    Bonjour à tous,
    mon problème est le suivant: je voudrais concevoir deux programmes, un "fournisseur" de données et un "récepteur" de données.
    Le rôle du "fournisseur" est d'envoyer sur le réseau à intervalle régulier une structure de données.
    Le (les) récepteur(s) reçoivent cette structure et l'exploitent.
    Le fournisseur ne nécessite pas d'accusé de reception.
    Les récepteurs n'ont rien à transmettre.

    J'ai pensé à UDP, et j'ai regardé du côté de Indy... mais (un moment de honte est vite passé ...) je n'y ai pas compris grand chose pour le moment...

    Est-ce que c'est la bonne direction ?

    Merci d'avance,
    Robert

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Je crois que Indy est la bonne direction, pour t'aidé il faudrais savoir quelle version de Indy tu utilises et tant qu'à y être, donne nous ta version de BCB

    Si tu utilises Indy 9 il y a des démo:
    http://www.indyproject.org/Sockets/Demos/index.en.aspx
    C'est en Delphi, mais tu va pouvoir comprendre avec un minimum d'effort.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Par défaut
    Bonsoir Crayon et merci pour ta réponse.

    J'utilise (enfin, j'essaye...) BCB6. les composants Indy sont ceux livrés en standard avec...

    Merci pour le lien, je vais télécharger les exemples Delphi...

    A bientôt,

    Robert

  4. #4
    Membre chevronné
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Par défaut
    Avant de chercher quels somposants utiliser, je te propose, comme tu as commencé à le faire, de réfléchir à la problématique réseau.

    Si j'ai bien compris, le fournisseur de données ne connaît pas nécessairement les hôtes qui vont les exploiter. Tu as alors, selon moi, deux manières de voir les choses :
    1. en effectuant un envoi en broadcast (UDP) sur un port donné, il suffit que les récepteurs écoutent sur ce port pour récupérer les infos du fournisseur. Seulement il faut que la qualité du réseau le permette (pas Internet) et qu'il n'y ait pas de routeur à traverser car généralement, ils ne laissent pas passer les broadcast.
    2. Si les récepteurs risquent de se trouver sur des réseaux de médiocre qualité ou sur des réseaux IP différents (routeur), le récepteur envoie, lorsqu'il est prêt, une information au fournisseur (qui doit alors être à l'écoute en TCP) qui saura à qui envoyer son information, en TCP également (mode connecté).

    Une fois ton choix fait, les composants Indy, ICS ou autres feront très bien l'affaire. Mais tu as intérêt à parcourir les faq et autres tutos pour bien comprendre les problématiques réseaux en jeu.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Par défaut
    Bonjour Altau,
    c'est ça: le fournisseur ne sait pas combien de clients peuvent être en ligne. Chaque client reçoit la même information et ne répond pas. Ca reste dans le cadre d'un réseau local. C'est un peu un "servez-vous"...

    Cordialement,

    Robert

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Par défaut Indy... au secours !
    Bon, ça ne s'arrange pas... voilà un moment que je tourne en rond avec Indy9 et BCB6 ...

    Je veux envoyer une structure de données, donc si j'ai bien lu, je ne peux pas utiliser broadcast... Si j'utilise sendbuffer en mettant comme adresse 255.255.255.255 j'ai une erreur à l'exécution... Si quelqu'un pouvait m'indiquer la marche à suivre pour qu'un poste maître envoie en UDP cette fichue structure à tous les abonnés du réseau local, il aurait droit à ma reconnaissance éternelle...

    Merci d'avance,

    Robert

    PS: pour mémoire, le fournisseur envoie la structure à intervalle régulier sans intervention des clients et les clients n'accusent pas réception de la structure.

  7. #7
    Membre chevronné
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Par défaut
    pdgnr,
    Je n'utilise pas trop Indy et ne peux pas te répondre tout de suite concernant la fonction exacte à utiliser. Par contre, tu peux envoyer ce que tu veux sur le réseau, structure ou pas. Ce n'est pas de ce côté-là qu'il faut chercher l'origine de ton problème avec un envoi en broadcast.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Par défaut
    Merci Altau...
    Je ne suis pas "scotché" à Indy... N'importe qu'elle autre méthode me conviendrait. Du fond de mon ignorance les "Indy" me paraissaient, peut-être à tort, les + faciles...
    Pour le broadcast, j'avoue ne pas avoir poursuivi, puisque la methode réclame une "string" en paramètre...

    Si tu as une idée facile à mettre en oeuvre pour un newby comme moi, je la prend, ça va sans dire !

    Merci d'avance,

    Robert

  9. #9
    Membre chevronné
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Par défaut
    Je n'ai absolument rien contre Indy ! Il m'arrive parfois de l'utiliser.

    Concernant le broadcast, son utilisation est strictement identique à un unicast (UDP). La seule différence est que tous les hôtes du réseau vont accepter le paquet comme s'il leur avait été adressé personnellement.

  10. #10
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut !

    Tu peux nous donner la structure du réseau ou se trouve le fournisseur et les clients ?

    (Si t'a mis 255.255.225.255, je croi pas que c'est un réseau locale )


    A+

  11. #11
    Membre chevronné
    Avatar de Altau
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    296
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 296
    Par défaut
    255.255.255.255 est l'adresse de broadcast, parfaitement licite en UDP. Il faut juste savoir que généralement, ça ne traverse pas les routeurs.

Discussions similaires

  1. [Débutant] Utilisation du debugger Eclipse avec Serveur Web
    Par tnodev dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/06/2005, 17h45
  2. Réponses: 19
    Dernier message: 28/04/2005, 15h36
  3. [Débutant]Utilisation de swing
    Par OtI$ dans le forum Débuter
    Réponses: 10
    Dernier message: 01/12/2004, 21h27
  4. [Débutant] Utilisation du mot clé ASSERT
    Par analysiz dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2004, 11h43
  5. [Débutant] Utilisation de FOP - Register Fonts with FOP
    Par Johnbob dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 31/01/2004, 00h27

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