Précédent   Forum des professionnels en informatique > Applications > Développement réseaux
Développement réseaux Forum d'entraide sur le développement réseaux, sockets, etc...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2011, 23h43   #1
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 42
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 42
Points : 32
Points : 32
Par défaut Une question de base sur les sockets

Bonjour,

Je me pose une question un peu idiote mais pour laquelle j'ai du mal à obtenir une réponse claire, malgré les différents tutos que j'ai pu lire pour les différentes API réseau que j'ai considéré (winsocks et asio principalement) : comment fonctionne réellement les fonctions de type recvfrom (UDP) ou autre receive ?

Faut-il que l'application à laquelle est destinée le message soit en mode "attente" sur receive au moment où le paquet lui arrive, où les API conservent-elles un buffer interne dans lequel les paquets sont automatiquement stockés au fur et à mesure et les fonctions receive ne servent alors qu'à dépiler (un peu plus tard donc) ?

J'imagine que, dans la mesure où il est possible d'utiliser les socket en mode non bloquant, le programme n'a pas besoin d'appeler la fonction pile au moment ou le paquet arrive sur ma machine, mais y a-t-il un timer au delà duquel les paquets sont supprimés si non traité par recvfrom/... ?

Merci pour vos précisions
syntaxerror est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 12h57   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 485
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 485
Points : 9 625
Points : 9 625
Bonjour,

Les cartes reseaux permettent de bufferiser un certain nombre de paquets, que tu lis au fur et a mesure via l'API (qui ne bufferise pas).

En TCP : si la file est pleine, l'emetteur recoit une erreur
En UDP : les paquets en trop sont supprimes par la carte lors de la reception si la file est pleine.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h24.


 
 
 
 
Partenaires

Hébergement Web