begin process at 2012 02 15 16:16:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Comment une procédure peut-elle vérifier continuellement l'état d'un winsock ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment une procédure peut-elle vérifier continuellement l'état d'un winsock ?

mardi 22 mai 2007 à 19:52:33 | Comment une procédure peut-elle vérifier continuellement l'état d'un winsock ?

linux21

Bonjour, étant débutant un peu autodidacte en vb6, quelque chose m'echappe complètement et m'handicape.

Prenons un exemple concret si vous le voulez bien.
Je suis en cours de création d'un chat client/serveur. J'utilise un composant winsock. Mon timer suit l'avancé de la connexion du client au serveur et inversement.

J'aimerai maintenant executer une procédure si et seulement si mon composant winsock arrive à l'état 7 (SckConnected). Cela peut vous paraitre basique mais tant mieux, moi ça m'échappe !

Mon idée premiere était bien sur de faire une procédure du style:
If Wserveur.State = 7 Then
(hop je glisse mes procédures)
End if

Mais cette procédure s'execute avec les autres et comme il voit que mon winsock n'est pas en état 7 il passe a autre chose et n'y revient jamais. Comment faire pour qu'il verifie tout le temps ? Un autre timer ? je bloque.. merci de votre aide.
mardi 22 mai 2007 à 20:34:05 | Re : Comment une procédure peut-elle vérifier continuellement l'état d'un winsock ?

Julien237

Salut,

Dans un autre langage, une bonne solution aurait été le multi-threading, mais qui est hélas impossible en VB6.
Dans ce cas il te faut alors utiliser l'instruction DoEvents dans une boucle "infinie".
Par exemple tu pourrais imaginer une structure comme ceci :

While Wserveur.State <> 7
  DoEvents()
  'Opérations à effectuer tant qu'il n'est pas connecté
Wend
'Wserveur.State = 7
Opération à faire lorsqu'il se connecte

DoEvents permet au processus d'exécuter les message windows en attente pour ton application (comme par exemple un click sur un bouton, un déplacement de fenêtre, plein de choses...) et donc de l'empêcher de "freezer" pendant ta boucle.

Sinon l'idée d'utiliser un autre timer ne me semble pas particulièrement mauvaise non plus, à voir.


Julien.
mardi 22 mai 2007 à 22:31:41 | Re : Comment une procédure peut-elle vérifier continuellement l'état d'un winsock ?

e_NeX

Membre Club
mouais julien...  tres moyen comme solution!

faire un DoEvents te bouffera tout ton CPU!!!

en VB6 le mieux est de mettre un timer, selon moi, toutes les 100 ms qui vérifie l'état du winsock!

if winsock.state <> 7 then .....

l'état #7 veux dire que ton winsock est connecté!

ne pas oublier de laisser le winsock en mode TCP/IP et non en UDP!

bonne prog!
mardi 22 mai 2007 à 23:27:21 | Re : Comment une procédure peut-elle vérifier continuellement l'état d'un winsock ?

linux21

Merci de votre aide je pense que vos solutions vont m'aider :)
Affaire à suivre ^-^


Cette discussion est classée dans : winsock, vérifier, état, procédure, continuellement


Répondre à ce message

Sujets en rapport avec ce message

crystal 9 lié a une procédure stockée [ par nes ] nesbonjour, j'ai un petit problème,j'ai 2 états crystal dans mon programme. Ces états son reliés chaqu'une à une procédure stockée, mais lors de l'app Comment vérifier l'état d'un control [ par drakkard ] bonjour bonjour, je cherche à vérifier le statut de plusieurs controls dans un frame spécifique. Si ils sont actifs ou non et visibles ou non... mer Comment vérifier l'état d'un control [ par drakkard ] bonjour bonjour, je cherche à vérifier le statut de plusieurs controls dans un frame spécifique. Si ils sont actifs ou non et visibles ou non... mer Comment vérifier l'état d'un control [ par drakkard ] Bonjour, bonjour, je cherche à vérifier le statut de plusieurs control ( label, combo, ... ) dans un frame spécifique. Savoir si ils sont actifs ou n Comment vérifier l'état d'un control [ par drakkard ] Bonjour, bonjour, je cherche à vérifier le statut de plusieurs control ( label, combo, ... ) dans un frame spécifique. Savoir si ils sont actifs ou n Comment vérifier l'état d'un control [ par drakkard ] Bonjour, bonjour, je cherche à vérifier le statut de plusieurs control ( label, combo, ... ) dans un frame spécifique. Savoir si ils sont actifs ou n Problème Winsock [ par norton ] Hello à tous.Quand j'essaye de compiler mon programme une erreur de winsock apparaît : ERREUR DE COMPILATION: La déclarat DataReport et une procédure stockée [ par chafaqis ] salut tt le mondej'ai fait un état en utilisant datareport mais mon problème quand j'execute ma procédure dans analyseur de requete en lui affectant c Vérifier l'état d'une connexion SQL Server [ par dgmc ] bonjour a tous, je travaille sur une application en VB6 dans laquelle jutilise une connexion a sql server. Mais je dois etre capable de detecter un Déconnexion internet [ par logedu ] Je lance une connexion internet avec la procédure internetaudial de Lib wininet.dllComment faire pour l'arrêter ensuite ?Je pensais qu'il fallait util


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales