Bonjour,
quand j'ai commencé mon "bot", les premières classes étaient assez brouillon et à force d'avancer cela se ressent et fini par tout freiner.
Une de mes premières classes est bien sur readerPacket. Je vous explique le fonctionnement de mon reader :
il y a un std::vector<uint8_t> qui est rempli par un thread qui reçoit les paquets du socket et fait plein de push_back.
Un autre thread lit ce vector. Dès qu'un paquet est complet il le stock ailleurs et le supprime du vector qui sert de buffer.
Le problème est que cela ne fonctionne pas tout le temps. De temps à autre j'ai droit à un BAD_ACCESS et dans le pire des cas un plantage incompréhensible.
Il suffit que je lui rajoute un std::cout et il ne plante plus. Je suppose qu'un thread va plus vite que l'autre et fini par tout faire bugger.
Ma question est, si vous pouvez me répondre, quelle fonctionnement me conseilleriez-vous pour mon reader ?
Je pensais à un autre thread qui gère le buffer et qui donne tour à tour la main à un thread pour lire ou écrire mais j'ai peur que cela soit très lent.