Envision2
Messages postés5Date d'inscriptiondimanche 13 janvier 2002StatutMembreDernière intervention12 mai 2005
-
8 mai 2005 à 16:57
minet03
Messages postés415Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention 2 décembre 2005
-
12 mai 2005 à 17:48
Bonjour, avec mon programme en tcp/ip je veux controler le débit d'envoie d'un fichier avec ceci:
while(OctetLu == 1024 && ret != 0 && ret != SOCKET_ERROR)
{
vartime = GetTickCount();
ReadFile(File,buffer,1024,&OctetLu,NULL);
ret = send(SockSrv,buffer,
OctetLu,0);
difftime = (GetTickCount()-vartime);
Mais le problème c'est que sa marche quand on veux limiter en bas de 10k/sec mais par exemple à 50k/sec il limite ça à 32k/sec. Mon verdicle, l'ordi prend du temps pour executer le code. J'ai mis pour tester difftime+8 et sa marche! mais il on tombe avec un ordi plus rapide que 1.6ghz sa doit pas être+8. Quelqu'un peut m'aider ou trouver de quoi d'autre
minet03
Messages postés415Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention 2 décembre 20053 12 mai 2005 à 17:48
Je viens justement d'avoir une petite astuces.
Tu calcules le taux d'envoi du paquet, si ce taux d'envoi est supérieur
à celui que tu veux, tu attends un certain temps (à déterminer), puis
tu reprend l'envoi, ainsi la moyenne du taux d'envoi sera celui que tu
cherches.
Bon ok, cette méthode est très complexe à mettre en route...
Ou sinon ton 8, tu le remplace par une variable que tu incrément (ou
décrémente) jusqu'à ce que le taux de transfert soit celui désiré.
Le CyberMonde nous offre une meilleur qualité de vie
["http://cyberman.inc.free.fr" CyberMan.inc The WebSite]