PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → [WD 8 & 9] Comportement bizarre de la fonction socketlit
[WD 8 & 9] Comportement bizarre de la fonction socketlit
Débuté par none, 02 nov. 2005 01:01 - 2 réponses
Posté le 02 novembre 2005 - 01:01
Bonjour,

Je rencontre un problème pour le moins bizarre avec la fonction
"SocketLit".

Il semble que cette fonction ne renvoit pas tout le temps une chaine
vide lorsque la socket cliente se déconnecte. En revanche, le problème
ne survient pas lors d'un timeout.

Si le projet est créé sur un poste XP, le problème EST rencontré.
Si le projet est créé sur un poste 2K, le problème N'EST PAS rencontré.
Si j'ouvre le projet créé sur un poste 2K sur le poste XP, le problème
N'EST PAS rencontré.

C'est a y perdre son latin!

Quelqu'un a déjà rencontré ce phénomène?
Posté le 02 novembre 2005 - 09:15
Bonjour

J'ai eu des gros soucis avec les sockets de WD9 par rapport aux déconnexions sauvages
En client, rien n'est prévu, et j'ai préféré faire une DLL utilisant winsock.
En serveur, je me sert de socketclientinfo(,socketadresse) qui renvoi "0" quand le client s'est déconnecté
Posté le 02 novembre 2005 - 15:18
Bonjour

J'ai eu des gros soucis avec les sockets de WD9 par rapport aux déconnexions
sauvages En client, rien n'est prévu, et j'ai préféré faire une DLL utilisant
winsock. En serveur, je me sert de socketclientinfo(,socketadresse) qui
renvoi "0" quand le client s'est déconnecté


Que ce soit en client ou en serveur, la fonction socketlit permet de
dialoguer et DOIT renvoyer une chaine vide en cas de déconnection d'une
des deux parties.

La fonction socketclientinfo, comme indiqué dans les faq de PCSOFT
permet de savoir si une socket non fermée par un socketferme est encore
connectée ou pas.

Dans mon cas, avant un socketlit, je teste l'existence de la socket par
socketexiste et socketclientinfo.

Il n'empêche qu'aucune chaine vide n'est renvoyée si durant la lecture
l'hôte distant se déconnecte.

Le plus énervant c'est qu'un même code (éprouvé) fonctionne ou pas
suivant l'OS utilisé en développement!