savoir si une socket C est encore connectée

savoir si une socket C est encore connectée - C - Programmation

Marsh Posté le 08-12-2005 à 19:21:42    

Bonjour,
 
je voudrais savoir c'est possible en possèdant une socket s connecté en TCP de la tester pour savoir si la connection est encore active (cad si ya tjrs quelqu'un au bout du "fil" )
 
merci

Reply

Marsh Posté le 08-12-2005 à 19:21:42   

Reply

Marsh Posté le 09-12-2005 à 09:31:00    

un poll

Reply

Marsh Posté le 09-12-2005 à 10:07:18    

en fait j'utilise déja un select, et pour l'instant pour savoir si la connection est coupé je teste si le message reçu est null quand select débloque.
 
mais je voulais savoir si la déconnection n'était pas propre, cable débraché etc, si je recevais aussi un message null sur la socket...

Reply

Marsh Posté le 09-12-2005 à 13:05:46    

up

Reply

Marsh Posté le 10-12-2005 à 11:42:35    

up

Reply

Marsh Posté le 10-12-2005 à 12:13:28    

oui a priori meme si le cable est debranché tu recevra ton octet de fermeture (j'imagine qu'il vient de ta pile TCP)
 
Le probleme de ton select c'est que si tu lit cet octet et qu'il n'est pas nul il va falloir que tu le remette quelque part dans ton buffer.
à moins que tu sache que le socket n'a rien à t'ecrire, comme avant d'envoyer une requette HTTP à un serveur par exemple. Dan s ce cas le plus simple est peut etre de regarder combien tu peux lire surt le socket directement, sans faire un select, et considerer que si il y a 1 octet à lire alors c'est qu'il est mort...


Message édité par pospos le 10-12-2005 à 12:15:01
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed