deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 20 sept. 2007 à 20:01
Yop,
intéressant comme code, cependant, Msg_Recu est une variable ou tout les threads écrivent dedans. Cela pourrait engandrer plusieur problème . Imagine que un thread écrive le message reçu et que avnt que celui-ci l'ai renvoyé , un autre écrit sont message reçu, ben le 1er thread n'envoie pas le message que lui à reçu :s . Tu devrait synchroniser tes threads :D
++
mythic_kruger
Messages postés241Date d'inscriptionjeudi 8 janvier 2004StatutMembreDernière intervention10 novembre 2005 4 juil. 2005 à 16:54
Au vu des 4 premières lignes de code il s'agit bien de l' API Winsock. Cette couche représentée par la librairie dynamique peut être utilisée depuis C ou VB avec quasiment la même syntaxe d'ou l' appellation d' Interface de Programmation d' Application (API).
Arcagi
Messages postés4Date d'inscriptiondimanche 11 avril 2004StatutMembreDernière intervention21 mars 2005 21 mars 2005 à 19:40
Salut,
Je trouve le code intéressant, et assé simple à comprendre. De mon côté j'ai testé et cela marche très bien :-)
Sinon, je n'est pas bien compris le terme d'API, pour moi cela ressemble bien à une API ! J'ai la bible du programmeur en C/C++ et le style de programmation ressemble étrangement à celui-ci...et dans cette bible ils appellent cela une API. ;-)
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 4 févr. 2005 à 21:20
Juste une petite remarque en ce qui concerne ton titre.
"...API utilisant Winsock" n'est pas approprié.
Ici tu n'utilises que des fonctions standards du C.
Ce n'est pas de l'API (Application Programming Interace).
Sinon, pour éviter les threads tu peux aussi bien utiliser des sockets asynchrones.
Shell
cs_thedestiny
Messages postés56Date d'inscriptionsamedi 3 juillet 2004StatutMembreDernière intervention30 juin 2008 3 févr. 2005 à 22:58
Merci pour la remarque ^^
Les fichiers *h à la base ne devaient contenir que les prototypes de fonction et je vois pas comment je suis arrivé à y mettre les fonctions dedans...
J'ai remplacé le TerminateThread par le CloseHandle(), qui pendant mes tests avait des défaillances, enfin maintenant ca à l'air d'etre bon
Pour la synchro des threads, c'est simple je sais pas faire :P ( c'est pas pour rien que j'ai dis que j'etais débutant :p )
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 3 févr. 2005 à 22:37
Que fait de l'implementation dans des fichiers h ???
TerminateThread() ne devrait jamais etre employe, c'est une instruction d'urgence pour le debug et situations de ce genre. Un thread doit sortir proprement en liberant ses ressources. A ce propos, je n'ai pas vu les CloseHandle() correspondants a chaque CreateThread().
On verra le reste quand la synchro des threads sera realisee.
20 sept. 2007 à 20:01
intéressant comme code, cependant, Msg_Recu est une variable ou tout les threads écrivent dedans. Cela pourrait engandrer plusieur problème . Imagine que un thread écrive le message reçu et que avnt que celui-ci l'ai renvoyé , un autre écrit sont message reçu, ben le 1er thread n'envoie pas le message que lui à reçu :s . Tu devrait synchroniser tes threads :D
++
4 juil. 2005 à 16:54
21 mars 2005 à 19:40
Je trouve le code intéressant, et assé simple à comprendre. De mon côté j'ai testé et cela marche très bien :-)
Sinon, je n'est pas bien compris le terme d'API, pour moi cela ressemble bien à une API ! J'ai la bible du programmeur en C/C++ et le style de programmation ressemble étrangement à celui-ci...et dans cette bible ils appellent cela une API. ;-)
4 févr. 2005 à 21:20
"...API utilisant Winsock" n'est pas approprié.
Ici tu n'utilises que des fonctions standards du C.
Ce n'est pas de l'API (Application Programming Interace).
Sinon, pour éviter les threads tu peux aussi bien utiliser des sockets asynchrones.
Shell
3 févr. 2005 à 22:58
Les fichiers *h à la base ne devaient contenir que les prototypes de fonction et je vois pas comment je suis arrivé à y mettre les fonctions dedans...
J'ai remplacé le TerminateThread par le CloseHandle(), qui pendant mes tests avait des défaillances, enfin maintenant ca à l'air d'etre bon
Pour la synchro des threads, c'est simple je sais pas faire :P ( c'est pas pour rien que j'ai dis que j'etais débutant :p )
3 févr. 2005 à 22:37
TerminateThread() ne devrait jamais etre employe, c'est une instruction d'urgence pour le debug et situations de ce genre. Un thread doit sortir proprement en liberant ses ressources. A ce propos, je n'ai pas vu les CloseHandle() correspondants a chaque CreateThread().
On verra le reste quand la synchro des threads sera realisee.