Détecter une déconnexion avec WinSock

tchem Messages postés 14 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 19 février 2008 - 4 févr. 2008 à 21:59
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 5 févr. 2008 à 07:12
Bonsoir à tous,
J'utilise un Winsock Serveur, avec lequel j'accepte des connexions multi clients. Afin de fermer les winsock proprement, comment savoir si un "Client" s'est déconnecté ou a perdu la connexion TCP ?
Je ne trouve pas d'évenement WinSck_Deconnect ou autre...
Comment faire ??
D'avance merci

10 réponses

mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
4 févr. 2008 à 22:10
Salut, tu peux faire une gestion des erreurs si tu envoies un message et que l'ordinateur distant a déco.
Si tu veux savoir le moment "précis" où l'ordinateur déconnecte, tu peux te faire un timer qui envoie assez fréquemment le même message. Si y'a déconnection, ça va te faire une erreur (et donc ça va aller dans ta gestion des erreurs)

 Pourapprendretoujoursplus!
0
tchem Messages postés 14 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 19 février 2008
4 févr. 2008 à 22:12
l'évenement _Close ne fonctionne t'il pas ?
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
4 févr. 2008 à 22:13
(Un exemple:
On Error GoTo ErreurReseau
Winsock.SendData "T'es toujours là?"
DoEvents
ErreurReseau:
MsgBox "Ah ben non, on dirait bien que t'es plus trop là...")

 Pourapprendretoujoursplus!
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
4 févr. 2008 à 22:16
l'évenement _Close ne fonctionne t'il pas ?

sisi, après de ton côté quand tu sais que l'ordinateur en face s'est déconnecté, toi il faut que tu fermes winsock de ton côté

 Pourapprendretoujoursplus!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tchem Messages postés 14 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 19 février 2008
4 févr. 2008 à 22:18
Si l'ordinateur client a une panne d'électricité, et donc ne fais de .close, vais-je avoir un événement  _Close quand meme qui va apparaitre sur le Serveur ??
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
4 févr. 2008 à 22:25
Si tu le programmes dans ta gestion des erreurs (cf l'exemple que je t'ai donné, tu n'as qu'à rajouter à la fin winsock.close...) dans ce cas oui.

 Pourapprendretoujoursplus!
0
tchem Messages postés 14 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 19 février 2008
4 févr. 2008 à 22:29
je veux eviter de questionner et d'attente les réponses ou non. Le _Close est il imparable ?
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
4 févr. 2008 à 22:34
Imparable surement pas, même si je ne connais pas de commande qui donne direct si qqn est déconnecté ou pas, mais en tout cas envoyer un message à quelqu'un qui n'est pas connecté te donnera une erreur immédiate, pas de temps d'attente, donc ce que je t'ai marqué est instantané. par contre c'est vrai qu'il faut envoyer un message pour que ça marche. Ne connaissant rien de mieux (même si c'est sûr que ça existe), je t'ai donné un truc que je connais et qui marche.

 Pourapprendretoujoursplus!
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 févr. 2008 à 02:10
salut
if winsock1.State <> sckConnected then msgbox "plus connecté"
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 févr. 2008 à 07:12
le  _Close se déclenche si une breche est detectée....
que le client se soit deconnecté ou qu'il ai crashé.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous