|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre éprouvé
![]() Cyrill GremaudIngénieur systèmes et réseaux Inscription : août 2005 Messages : 1 031 ![]() |
Bonjour, je développe une toute petite application qui doit pouvoir mettre en avant les différences de performances entre send, sendto, sendfile etc...
J'ai deux processus (fichier .C) qui tournent sur la même machine. Le premier communique avec le second au travers d'un socket UDP AF_INET (j'ai pas mis AF_UNIX car après je ferai des tests sur des machines différentes). La transmission utilise bel et bien la loopback adresse mais si j'envoie des volumes important de donnée comme par exemple 10'000'000 de trames de 4096 KB, a la réception je perds environ 0.5 % des trames... Comment est-ce possible ? ou peut se situer la perte ? Ci-dessous la manière très basique dont j'envoie et je réception les données pour une méthode d'envoi donnée. Envoi avec sendfile Code :
Code :
Code :
merci a l'avance pour votre aide
__________________
Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas... |
||||||
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2010 Messages : 56 ![]() |
Salut,
Par définition, UDP ne garantie pas l'acheminement des données, il faut utiliser TCP si tu veux que les messages arrivent. L'erreur est peut-être dans un buffer qui "déborde" : comme l’émetteur n'attend pas d'accusé de réception, il envoie toutes les trames alors que le destinataire n'a pas eu le temps de les lire. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com