API win32 + logiciel réseau - C++ - Programmation
Marsh Posté le 26-04-2006 à 13:56:06
- Utilises les balises code, sinon ca rend le reste illisible.
- while(1) c'est très mal. J'ai failli perdre un oeil, pire que le manque de balises.
Marsh Posté le 26-04-2006 à 13:58:40
j'oublie:
- précise la manière dont ca plante (message d'erreur ? gel ? ...) stp.
- As tu passé le debugger ? A part constater que ca plantait, qu'as tu entrepris pour régler le souci ?
Marsh Posté le 26-04-2006 à 14:39:13
ah oui désolé pour le code. Alors en fait cela me génère un freeze total du programme. En fait je pense changer effectivement mon while(1) et j'ai également vu que la fonction GetMessage dans mon "tant que" du WinMain pouvait etre changer par un PeekMessage. Car apparemment GetMessage serait une fonction bloquante alors que PeekMessage non. Non je n'ai pas encore eu le temps de passer le débugger. Je m'y met de suite.
Marsh Posté le 26-04-2006 à 21:35:39
Merci pour tes réponses. Je suis en train de tout revoir et je posterai dès que j'aurai du nouveau. A plus
Marsh Posté le 27-04-2006 à 16:15:57
Bonjour à tous,
Voila j'ai revu mon code. J'ai donc créer une application réseau (graphique) qui créer une socket et qui se met en écoute en attente d'une connexion.
Mon probleme est que lorsque je clique sur mon bouton pour que l'appli se mette en écoute, la fenetre se fige et ensuite plante. Le problème vient du fait que j'ai une boucle pour actualiser l'affichage dans "WinMain" ce qui est logique, et une autre qui permet au prog d'etre en écoute (dans la procedure "create_connexion" ). Donc lorsque le prog se met en écoute il se bloque dans la boucle d'ecoute et l'affichage ne se fait plus et tout plante.
J'ai entendu vaguement parler des "thread" d'ou le ? dans le titre du sujet mais je ne sais pas du tout m'en servir et je ne suis pas sur non plus que cela règle mon problème.
Si quelqu'un a une idée... Merci d'avance et désolé pour le roman
Voila mon code:
Code :
|
Marsh Posté le 27-04-2006 à 16:28:17
ben si voilà, tu crée un thread d'écoute, et par exemple tu envoies des msg windows évenement quand tu reçois tel ou tel message.
Et ça évitera un while(1) ou un truc sale du genre ...
Marsh Posté le 28-04-2006 à 04:15:54
ben c'est bon mec merci de ta reponse j'ai créer un thread et ca marche nikel. Merki encore. Salut
Marsh Posté le 28-04-2006 à 04:16:36
Edit: voir la fonction CreateThread sur google pour ceux qui ne savent pas. Tcho bonne nuit
Marsh Posté le 26-04-2006 à 13:53:33
Bonjour à tous,
Voila j'ai
réalisé deux petites applications simples (client et serveur) en mode
console. Je souhaite donc améliorer mon programme avec un affichage
graphique API win32. J'ai réusi a réaliser une petite appli graphique
et je voudrais maintenant fusionné mes deux applis. J'ai essayé et la
le programme plante. Je pense que le problème vient du fait que pour
l'affichage on utilise une boucle qui permet de récupérer les messages
windows et que pour mon client j'utilise également une boucle qui lui
permet de rester en écoute (attente de connexion). Donc les deux
boucles se gène mutuellement.
Je vous donne donc les deux codes séparés.
D'abord l'appli graphique:
-------------------------------------------------------------------
-----------------------------------------------------------------
Ensuite mon client:
-------------------------------------------------------
Voila
si quelqu'un a une petite piste ou une solution a me proposé je vous en
serait très reconnaissant. Je débute en API et je galère un peu. Merci
d'avance
Message édité par lorenzeb le 26-04-2006 à 14:41:25