OVH Cloud OVH Cloud

savoir si le socket est ferme

2 réponses
Avatar
dark poulpo
bonjour,
je sais pas si c ici ou pas qu'il faut que je demande, mais voila jai un
probleme.
jai des echanges de donnees entre un serveur web sur le port http et mon
client, mais le probleme,c que les pages html envoyé sont dynamique.

mon probleme est que je voudrais savoir à un instant T si une connection
vient d'etre fermée, actuellement justilise un timeout par select(), mais ca
moblige a attendre le timeout pour commencer un traitement.
donc ya t'il un moyen de connaitre si le socket est ferme ou pas?

merci d'avance

2 réponses

Avatar
Fabien LE LEZ
On Fri, 6 Aug 2004 20:03:24 +0200, "dark poulpo" :

je sais pas si c ici ou pas qu'il faut que je demande


Je confirme que non -- cf FAQ.
Le mieux est d'aller sur un forum consacré à la programmation sur ton
OS. Pour Windows, c'est fr.comp.os.ms-windows.programmation


--
;-)

Avatar
GOURUL Frédéric
"dark poulpo" a écrit dans le message de
news:cf0g63$qej$
bonjour,
je sais pas si c ici ou pas qu'il faut que je demande, mais voila jai un
probleme.


Effectivement, c'est plus de la programmation système que C++ et select()
est une fonction C...

jai des echanges de donnees entre un serveur web sur le port http et mon
client, mais le probleme,c que les pages html envoyé sont dynamique.

mon probleme est que je voudrais savoir à un instant T si une connection
vient d'etre fermée, actuellement justilise un timeout par select(), mais
ca

moblige a attendre le timeout pour commencer un traitement.
donc ya t'il un moyen de connaitre si le socket est ferme ou pas?


Je n'utilise pas select, mais je pense qui doit fonctionner sur le même
principe que poll(). Et avec des socket en mode connecté (TCP), poll()
indique une activité en entrée si une socket est fermé correctement de
l'autre coté (shutdown / close). Ensuite un appel à recv() sur la socket en
question retourne 0 (EOF) qui indique bien que la socket à été fermée.

merci d'avance

De rien.