Comment utiliser SO_KEEPALIVE option correctement détecter que le client à l'autre extrémité est en panne?

donc j'essayais d'apprendre l'utilisation de l'option SO_KEEPALIVE dans le support de la programmation en langage C sous environnement Linux.

J'ai créé un serveur de socket et utilisé mon navigateur pour se connecter à elle. Il a été un succès et j'ai été capable de lire la requête GET, mais je suis coincé sur l'utilisation de SO_KEEPALIVE.

J'ai vérifié ce lien [email protected] mais je ne pouvais pas trouver un exemple qui montre comment l'utiliser.

Dès que je détecte la demande du client sur accept() fonction que j'ai mis le SO_KEEPALIVE valeur de l'option 1 sur le socket client.
Maintenant, je ne sais pas comment faire pour vérifier si le client est en panne?, Comment faire pour modifier l'intervalle de temps entre les sondes envoyées etc.

Je veux dire, comment vais-je recevoir le signal que le client est en bas (sans lecture ou de l'écriture chez le client...j'ai pensé que je vais obtenir un signal lorsque les sondes sont pas répondu de nouveau à partir d'un client), comment dois-je programmer après le réglage de l'option SO_KEEPALIVE sur.

Aussi si supposons que les sondes sont envoyées toutes les 3 secondes et le client va vers le bas entre les deux, je ne vais pas à savoir que le client est en panne et que je puisse obtenir SIGPIPE.

De toute façon important, je veux savoir comment utiliser SO_KEEPALIVE dans le code.

Merci une tonne à l'avance!!!

InformationsquelleAutor Durin | 2011-03-25