Voila, j'utilise la SDL_net sur plusieurs programmes serveurs (ils sont 5).
J'ai remarqué que le CPU montait dangereusement à 100% une fois les serveurs lancés et redessend à 5% une fois quittés.
Les programmes écoutent en boucle un port (chacun le sien) et ce sont ces boucles je pense qui prend autant de ressources.
Ce qui est logique en fait. Je fais une boucle qui écoute un port jusqu'à ce qu'elle trouve une connexion. Le soucis c'est qu'une boucle infinie de ce genre.... aie !
Ce qu'il aurait fallut, c'es que la fonction SDLNet_TCP_Accept soit "bloquante" pour éviter la boucle, mais ça n'est pas le cas.
Si quelqu'un à une idée pour eviter cette boucle...
Bon, en fait je viens de mettre un usleep(20); dans la boucle.
usleep() est utilisé sous Linux (je suis sous Ubuntu) pour faire une attente en milliseconde. Sous Linux, la fonction sleep() ne permet que d'y mettre des secondes, contrairement à WIndows qui permet les milli
usleep(20) c'est un peu court ... Elle sert à dormir quelques micro-secondes (le u devant représente la lettre "mu")...
Mais pourquoi tu le fais pas avec les socket de wxWidgets?
Ouai, je vais le faire sous wxWidgets. Je savais pas qu'on pouvait le faire au début, j'avais commencé avec la SDL. Maintenant, faut que je remette à jour tout mes programmes.
Le truc, c'est que pour les programmes serveurs, je n'utilise pas wxWidgets puisque ça n'est que de la console.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.