Lyynx a écrit :
ok, mais qui acknoledge le packet:
- le hardware
- l OS
- le software qui ecoute sur ce port
J opterais plutot pour la seconde solution qui implique que la bonne reception d'un paquet ne garantie en aucun cas qu'un process l'a recuperé de l'autre coté. (Ce process pouvant etre down...)
donc on ne peut pas savoir comme cas si un process est down ou pas, il faut que ce dernier réponde explicitement (C'est juste un exemple).
Merci pour ton aide, je vais aller jeter un coup d oeil la bas.
|
ne pas mélanger les couches.
Si le processus est down, tu as un close au niveau du socket normallement et donc exception. Dans certains cas, l'implémentation TCP n'est effectivement pas consciente que le processus client est mort mais bon ca ne dure pas longtemps, vu que la taille des buffers est plus que limitée. Sinon pour la réponse explicite oui et non. Cela dit, un mécanisme de ping - pong (ou watchdog) est conseillé si la connection reste ouverte pendant un certain temps.
Ce qu'il faut comprendre avec TCP c'est que tu as 2 états: soit il recoit tout et c'est ok, soit il manque qqch et il y a une erreur. La couche TCP s'arrange pour que si tu envoies 'TOTO' le client ne recoives pas 'TOSO'. C'est un niveau plus bas que l'applicatif.
Un exemple de diagramme de transition d'états:
http://www.ssfnet.org/Exchange/tcp [...] es.html#ST
Le mécanisme de fenêtre glissante utilisé pour contrôller la congestion et l'acquittement des paquets:
http://www.ssfnet.org/Exchange/tcp [...] es.html#SW
Un cours en Français de mon maitre de stage si nécessaire:
http://www.icampus.ucl.ac.be/claro [...] odule1.pdf
Message édité par darklord le 25-01-2004 à 20:53:59