begin process at 2012 05 30 17:27:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Réseau & Internet

 > 

Socket UDP linux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Socket UDP linux

mardi 1 décembre 2009 à 09:54:28 | Socket UDP linux

elinep

Bonjour à tous,

J'ai une application qui communique en wifi entre deux machines linux en utilisant des liaisons UDP.

En fait la machine A envoie régulièrement des paquets à la machine B pour l'informer de son état. Lorsque la liaison est très perturbée, je constate que les paquets sont bufferisés et transmis au compte goutte. Dans une pareille situation je souhaiterais abandonner la transmission des vieux paquets et de ne tenter de transmettre que les dernières données à jour.

J'ai essayé de limiter la taille du buffer de sortie de la socket avec un setsockopt() sur le paramètre SO_SNDBUF.

Mais lorsque le débit chute, j'observe un gros retard sur mes données, j'en déduis que les vieux paquets sont toujours dans la queue.

Avez vous des idées ?
mercredi 2 décembre 2009 à 19:07:32 | Re : Socket UDP linux

Lucky92

Salut,

Il y a une autre explication possible au problème que tu observes...
Par défaut, lorsque la charge en émission devient un peu importante, au lieu d'envoyer les paquets à la demande, la socket "trainasse", c'est-à-dire qu'elle attend un peu que la pile se remplisse, pour envoyer une trame pleine d'un seul coup ! Ce comportement peut être inhibé en utilisant l'option SO_DONTLINGER.
Dans le doute, je te conseille d'essayer cette option, c'est rapide à tester et si le problème est bien celui-là, le résultat va être immédiat:)

Cordialement,
Lucky92.
jeudi 3 décembre 2009 à 10:06:15 | Re : Socket UDP linux

elinep

Bonjour,

Dans le man, il est dit que SO_DONTLINGER détermine le comportement de la socket lors d'un close (est ce qu'elle doit tenter d'envoyer les données ou pas). Ce qui n'est pas mon cas.

J'ai quand même essayé, mais j'observe toujours un retard de plusieurs secondes sur mes données.


Cette discussion est classée dans : linux, socket, machine, paquets, udp


Répondre à ce message

Sujets en rapport avec ce message

Problème de socket UDP sous linux [ par RaygKross ] Salut à tousMon problème est je dois créer un programme manager snmpLes port de SNMP sont 161 et 162J'initialise ma structure de type sockaddr_in avec recvfrom + udp + '\n' [ par vegetaline ] salutune appli client / serveur sous linux qui communique (enfin qui essaye) avec des sockets INTERNET en mode NON CONNECTE (en udp :)pb -> le recvfro Socket TCP/UDP [ par hobbes ] Bonjour,j ai cru comprendre qu il existe 2 types de sockets (TCP et UDP) pouvant permettre l echange de donnees entre 2 applications sur le reseau.Pou Capturer des paquets sans socket? [ par jonathan100 ] Bonjour a tous, Voila je developpe une application de type sniffer en java. Or apparemment il n'est pas possible de capturer des paquets sans passer Client/Serveur UDP sur 1 unique machine ! [ par sena ] Bonjour,j'ai fais deux programmes :un client et un serveur UDP.Ceux ci fonctionnent bien quand je les fait communiquer sur 2 machines différentes.Ce q Erreur 10049 sur socket UDP [ par Ezekiel69 ] Salut tous le monde...Me voici depuis plusieurs jour confronté un a problème étrange.Je veux envoyer un message par l'intermédiaire d'un packet UDP su Thread et socket udp [ par eurysthe ] Bonjour !!Voila j'ai un petit problème de thread qui me pourrit la vie.J'ai crée un thread qui doit écouter en boucle les informations qui transite su Lire une reponse UDP dans une socket [ par topl ] bonjour,Je crée un petit prog qui envoi une requete à un serveur dns afin de resoudre le nom tel que "www.yahoo.com".Seulement lorsque je fais un rec Problème UDP [ par ToToL ] BonjoursJe me suis attaquer il y a peut de temps au socket UDP ( aparament plus rapide que le tcp ) et j'ai un petit souci : je n'arrive pas ds le mem socket raw sous linux [ par gpg ] quelqu'un aurait-il un petit exemple de programmation de socket raw sous linux SANS librairies additionelle (C/C++ brut)


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales