PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → sockets - [WD8]
sockets - [WD8]
Débuté par mcam, 22 aoû. 2004 16:33 - 3 réponses
Posté le 22 août 2004 - 16:33
Comment détecter une déconnexion intempestive d'un client

je teste dans une boucle l'existence de la socket avec la fonction
socketexiste tous cela dans un thread pour ne pas bloquer le programme

mais rien ne se passe le programme ne sort pas de la boucle
le programme ne détecte pas que le client c'est déconnecté

BOUCLE
SI SocketExiste(Canal) <> Faux ALORS
trame = SocketLit(Canal,Faux,10)

// suite du programme

SINON
SORTIR
FIN
FIN

Merci
Cam
Posté le 23 août 2004 - 11:25
A+
florian26@ifrance.com

Cam <mcam@orange.fr> wrote:

Comment détecter une déconnexion intempestive d'un client

je teste dans une boucle l'existence de la socket avec la fonction
socketexiste tous cela dans un thread pour ne pas bloquer le programme

mais rien ne se passe le programme ne sort pas de la boucle
le programme ne détecte pas que le client c'est déconnecté

BOUCLE
SI SocketExiste(Canal) <> Faux ALORS
trame = SocketLit(Canal,Faux,10)

// suite du programme

SINON
SORTIR
FIN
FIN

Merci
Cam
Posté le 23 août 2004 - 11:46
Salut,

La déconnection d'un client renvoit une chaine vide lors d'un socketlit
(voir aide).

BOUCLE
SI SocketExiste(Canal) <> Faux ALORS
trame = SocketLit(Canal,Faux,10)


si trame~="" alors sortir


// suite du programme

SINON
SORTIR
FIN
FIN

Merci
Cam


A+
Posté le 24 août 2004 - 21:40
Eric <email@domaine.ext> wrote:

Salut,

La déconnection d'un client renvoit une chaine vide lors d'un socketlit


(voir aide).

BOUCLE
SI SocketExiste(Canal) <> Faux ALORS
trame = SocketLit(Canal,Faux,10)

si trame~="" alors sortir


// suite du programme

SINON
SORTIR
FIN
FIN

Merci
Cam

A+


Ce que Eric a dit est juste.

Je voudrais néanmoins préciser que si un poste est trop occupé, le timout
peut être dépassé et la fonction socketlit renverra vide, alors qu'un fait
le poste n'est pas déconnecté.

Il faudrait peut-être augmenté le timout.

Bon courage !