Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1432 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C] Comment faire un broadcast sur un réseau ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Comment faire un broadcast sur un réseau ?

n°340420
rick@r
coin coin coin
Posté le 22-03-2003 à 15:49:38  profilanswer
 

Je voudrai faire un broadcast sur un réseau pour identifier dans serveurs tournant sur un port précis.

mood
Publicité
Posté le 22-03-2003 à 15:49:38  profilanswer
 

n°340455
rick@r
coin coin coin
Posté le 22-03-2003 à 17:35:51  profilanswer
 

J'ai trouvé comment faire :
 

Code :
  1. int on;
  2. int portDiff;
  3. struct sockaddr_in adDiffusion;
  4. unsigned long adDiff;
  5. adDiff = inet_addr(argv[2]);            /* Adresse -> broadcast */
  6. printf("Adresse de broadcast = 0x%lX\n", adDiff);
  7. adDiffusion.sin_addr.s_addr = adDiff;   /* Identificateur de l'hote */
  8. adDiffusion.sin_family = AF_INET;       /* Type de la socket du serveur */
  9. adDiffusion.sin_port = htons(portDiff); /* Port des serveurs */
  10. tailleAd = sizeof(adDiffusion);
  11. /* Met la socket en mode broadcast */
  12. on = 1;
  13. setsockopt(skDesc, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on));
  14. sendto(skDesc, &nbNet, sizeof(long), 0, (struct sockaddr*) &adDiffusion, tailleAd);


 
mais j'ai une autre question :
Une fois que j'ai envoyé une requête en broadcast comment puis je savoir si tous les serveurs ont répondu ?

n°340532
mrbebert
Posté le 22-03-2003 à 21:28:10  profilanswer
 

Je suppose qu'ils répondent en t'envoyant un message sur un port précis. Il faudrait que tu crées une socket en lecture qui attend sur ce port.

n°340658
rick@r
coin coin coin
Posté le 23-03-2003 à 09:12:40  profilanswer
 

mrBebert a écrit :

Je suppose qu'ils répondent en t'envoyant un message sur un port précis. Il faudrait que tu crées une socket en lecture qui attend sur ce port.


oui, mais comment je saurais que tous les serveurs ont répondu ?
(PS : Je ne connais pas le nb de serveurs)

n°340798
mrbebert
Posté le 23-03-2003 à 17:12:47  profilanswer
 

Tu attends pendant un délai déterminé. Et tant pis pour ceux qui n'auront pas répondu suffisamment rapidement [:proy]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C] Comment faire un broadcast sur un réseau ?

 

Sujets relatifs
Comment afficher le temps de generation de la page ?comment placer un gif animé sur le bureau ?
Comment vérifier qu'une variable existe ??comment désactivé la roulette sous acces ?
comment créer un numéro automatique avec easyPHP 1.6 ? :/comment faire defiler un texte
Comment faire un lien Hypertexte sur un label ? (c est pour un OCX)Comment afficher mes images 3 par 3??
Comment ajouter une zone graphique a une frame swing?Comment modifier le port d'une imprimante en vbs
Plus de sujets relatifs à : [C] Comment faire un broadcast sur un réseau ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)