[C++] threads Win32

threads Win32 [C++] - C++ - Programmation

Marsh Posté le 28-07-2003 à 19:28:58    

Bonjour,
 
J'ai un probleme avec un programme qui doit fonctionner avec un thread réalisant la communication avec un serveur. J'ai donc fait une fonction avec une boucle infinie gerant les messages (dans le thread) et qui envoi un message à la fenetre principale.
 

Code :
  1. while(true)
  2. {
  3. ....
  4. SendMessage(HWND_BROADCAST,MESSAGE,NULL,NULL);
  5. }


 
le truc c'est qu'apres avoir envoyé le message la boucle infinie du thread semble s'arreter et donc aucun message venant du serveur n'est traité.
 
Merci d'avance pour votre aide.


Message édité par Piemur2000 le 28-07-2003 à 19:34:17
Reply

Marsh Posté le 28-07-2003 à 19:28:58   

Reply

Marsh Posté le 28-07-2003 à 19:34:55    

post plus de code la on est pas avancé
me semble pas que sendmessage soit bloquant

Reply

Marsh Posté le 29-07-2003 à 07:49:14    

Ils y a peu d'infos dans ton code mais une ou deux remarques:
-SendMessage() ne retourne pas imédiatement il attend que le message soit traité, avec plusieurs thread cela pourrait donner des résultats etranges. Utilise PostMessage qui retourne immédiatement.
-Une thread avec une boucle while(true) { code; } c'est pas terrible car la thread est toujours planifiée il faut essayer d'avoir des fonctions d'attentes WaitForSingleObject etc....

Reply

Marsh Posté le 29-07-2003 à 10:00:52    

Tu peux pas faire un peu moins bourrin que HWND_BROADCAST ?
"semble" s'arrêter. Faudrait que tu sois sûr de ce qui se passe.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Sujets relatifs:

Leave a Replay

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