J'ai trouvé. La solution est gettimeofday(). Je fais le calcul du temps écoulé entre d'eux paquet à la main. Ca marche pas trop mal, mais ce n'est pas précis à 100% je dirais qu'il y a des fluctuations de l'ordre de 5 à 20% selon la taille des paquets et le volume de trafic par seconde. Voici le code au cas où cela intéresserait quelqu'un. gettimeofday(&old, &tz); while (1) { gettimeofday(&new, &tz); if (time < (new.tv_sec * 1000000 + new.tv_usec) - (old.tv_sec * 1000000 + old.tv_usec)) { sendto(sock, data, packet_size - HEADER, 0, (struct sockaddr *) &sockaddr, sizeof(struct sockaddr_in)); gettimeofday(&old, &tz); } } Voilà voilà. Une bonne chose de faite :-) Bien sûr, si quelqu'un a une meilleure idée, qu'il n'hésite pas A+ Benoit On Sat, Mar 16, 2002 at 07:15:15PM, Benoit Joseph wrote: > > Même problème qu'avec les autres méthodes. Il y a tout même bien moyen > d'envoyer des données à un débit constant. > > > > On Sat, Mar 16, 2002 at 06:56:10PM, Benjamin Michotte wrote: > > On Sat, Mar 16, 2002 at 06:26:22PM, Benjamin Michotte wrote: > > > > > --- mail Sat Mar 16 18:26:22 > > +++ mail Sat Mar 16 18:56:27 > > @@ -16,7 +16,7 @@ > > - ts.tv_sec = del; > > + // copier-coller rules... > > + ts.tv_sec = 1; > > > > > > > ---end quoted text--- > > > > binny > > > > -- > > > > ... et si nous sommes tous embarqués sur la même planète, nous ne > > sommes décidement pas du même monde. > > -- Bertrand Cantat > > > > °v° Benjamin Michotte <binny@baby-linux.net> > > _o_ web : http://www.baby-linux.net > > > ---end quoted text--- > > -- > > Benoit JOSEPH > Manex SPRL: benoit.joseph@manex.be > Perso: joker@baby-linux.net > benoit.joseph@teledisnet.be ---end quoted text--- -- Benoit JOSEPH Manex SPRL: benoit.joseph@manex.be Perso: joker@baby-linux.net benoit.joseph@teledisnet.be
Attachment:
pgp01020.pgp
Description: PGP signature