Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dev C : Pb avec Keepalive sur connexion TCP...

1 réponse
Avatar
Yann Cohen
Bonjour,

je ne comprends pas le comportement d'une configuration d'un serveur TCP
avec le TCP keepalive.

Voici les hypothèses :
* la socket "Socket" est configurée avec :
* SO_KEEPALIVE à 1,
* TCP_KEEPIDLE à 600,
* TCP_KEEPINTVL à 60,
* TCP_KEEPCNT à 5 ;
* serveur multi threads préchargés avec chaque thread qui attend
(accept(Socket)) une connexion sur la socket ;
* si au bout de 30 minutes les threads ne voient pas de données
sur leur connexions ils la ferment...

À partir de là, je comprends que au bout de 10 minutes sans trafic sur
la socket un keepalive est lancé toutes les minutes et qu'au bout de 5
non réponse la socket est déclarée comme perdu ; donc au bout de 15
minute le système doit déclarer la socket fermée.

Le test effectué est le suivant :
1. un client connecté à un switch ouvre une connexion sur mon
serveur
2. la connexion est établie (vu avec netstat)
3. le client est déconnecté du switch
4. la connexion est toujours établie
5. au bout d'une demi heure la connexion est coupée par le thread
sur son time out applicatif...

Donc "ça marche pas" ou :
* j'ai pas compris comment cela devrait marcher ;
* j'ai pas configuré correctement...

Pourtant des TFM j'en ai lus...

Si qq'1 voit ma betise, je suis tout oui.

Cordialement.

Yann.

1 réponse

Avatar
Yann Cohen
Le jeudi 10 septembre 2015 à 11:35 +0200, Yann Cohen a écrit :
Bonjour,

je ne comprends pas le comportement d'une configuration d'un serveur TCP
avec le TCP keepalive.



[...]
sur son time out applicatif...

Donc "ça marche pas" ou :
* j'ai pas compris comment cela devrait marcher ;
* j'ai pas configuré correctement...


C'est exactement cela, je n'ai pas configuré correctement => c'est sur
la socket issue de l'accept() qu'il faut les mettre les paramètres !


Pourtant des TFM j'en ai lus...

Si qq'1 voit ma betise, je suis tout oui.

Cordialement.

Yann.