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

  FORUM HardWare.fr
  Programmation
  C++

  Détecter la fin de réception en UDP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Détecter la fin de réception en UDP

n°1668787
ChPortos59
Posté le 10-01-2008 à 12:09:40  profilanswer
 

Bonjour,
 
Je souhaite réaliser une application qui permette de détecter des composants réseaux présents sur le réseau local. Ces composants ont un fonctionnement sympatique qui consiste à répondre aux trames UDP en broadcast sur un port donné par une trame de retour à l'émetteur.
 
Mon programme actuellement réussi à envoyer les trames UDP sur le port (je vérifie ça grâce à Wireshark) qui sont correctement répondues.
Malheureusement, je n'arrive pas à faire de recvfrom() "en chaîne" jusque tous les composants aient eu le temps de répondre (en gros, j'arrive à capturer le premier).
 
Avez-vous une idée ?
Merci d'avance !

Message cité 1 fois
Message édité par ChPortos59 le 10-01-2008 à 12:14:23
mood
Publicité
Posté le 10-01-2008 à 12:09:40  profilanswer
 

n°1669212
ChPortos59
Posté le 10-01-2008 à 17:36:00  profilanswer
 

ChPortos59 a écrit :

Bonjour,
 
Je souhaite réaliser une application qui permette de détecter des composants réseaux présents sur le réseau local. Ces composants ont un fonctionnement sympatique qui consiste à répondre aux trames UDP en broadcast sur un port donné par une trame de retour à l'émetteur.
 
Mon programme actuellement réussi à envoyer les trames UDP sur le port (je vérifie ça grâce à Wireshark) qui sont correctement répondues.
Malheureusement, je n'arrive pas à faire de recvfrom() "en chaîne" jusque tous les composants aient eu le temps de répondre (en gros, j'arrive à capturer le premier).
 
Avez-vous une idée ?
Merci d'avance !


 
Bon, et bien j'ai trouvé un moyen.
Grâce à select(), j'ai mis un timeout d'1s, ce qui me laisse 1s pour que les composants répondent (énorme en temps informatique, non ?)
Par contre le problème, c'est que je bloque l'appli pendant cette seconde (d'où le fait que j'ai mis 1s, et pas 5s, ce qui est plus visible en temps de "freeze" ). Y aurait-il une autre solution ?

n°1669265
jagstang
Pa Capona ಠ_ಠ
Posté le 10-01-2008 à 18:28:05  profilanswer
 

threads?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1669286
Taz
bisounours-codeur
Posté le 10-01-2008 à 18:46:57  profilanswer
 

ChPortos59 a écrit :


 
Bon, et bien j'ai trouvé un moyen.
Grâce à select(), j'ai mis un timeout d'1s, ce qui me laisse 1s pour que les composants répondent (énorme en temps informatique, non ?)
Par contre le problème, c'est que je bloque l'appli pendant cette seconde (d'où le fait que j'ai mis 1s, et pas 5s, ce qui est plus visible en temps de "freeze" ). Y aurait-il une autre solution ?


déjà utilise poll au moins, c'est quand meme plus confortable à utiliser que select.
 
Après non, pas besoin de threads. Plutot que de bloquer ton appli 1s, tu peux faire des select beaucoup plus courts, et si au bout d'un temps donnée t'as toujours rien reçu, tu contines.


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

  Détecter la fin de réception en UDP

 

Sujets relatifs
Détecter la connection réseau du MC3000 de symbolconversion de long[] en byte[] c urgent svp-PDU - SMS - Reception sms
ICS et Delphi, pour creer paquets UDPComment détecter les images hotlinkées ?
détecter Vista en VB6Comment détecter un débordement sur les multiplications d'entiers en C
[Resolu] Parcourir tout les fichier d'un dossier et detecter des motsemission/reception su un client Java
Envoie et reception des infos d'un formulaire (php)[C#] Détecter le survol de la fenêtre
Plus de sujets relatifs à : Détecter la fin de réception en UDP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR