Humm ok. Du coup je dois utiliser les pointeurs intelligents ?
Comment le mettre en œuvre dans mon cas ?
Merci.
Humm ok. Du coup je dois utiliser les pointeurs intelligents ?
Comment le mettre en œuvre dans mon cas ?
Merci.
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Ok.
Donc je dois faire un pointeur sur ma socket ?
J'ai vraiment aucune idée de comment mettre ça en place...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class calculFrey { private: boost::shared_ptr<tcp::socket> sock; public: calculFrey(const boost::shared_ptr<tcp::socket>& s) : sock(s) { } void operator()() { cout<<"Passage dans le functore pour Frey"<<endl; boost::asio::write(*sock, boost::asio::buffer("hello !")); } };Mais vu que je n'ai pas utilisé boost::shared_ptr depuis la nuit des temps, je ne sais pas si operator*() renvoie une référence sur l'objet contenu (si quelqu'un peut confirmer ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 boost::shared_ptr<tcp::socket> socket(new tcp::socket(io_service)); acceptor.accept(*socket); .. thread t(calculFrey(socket));
En attendant, c'est à ça que va ressembler le code.
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Je suis en train de tester tout ça.
Le compilo bug pas tout va bien mais...
La ligne qui doit lancer le thread est ignorée, j'ai passé le code au débugger et il passe à l'instruction suivante, il n'exécute pasEt je comprends plus trop là...
Code : Sélectionner tout - Visualiser dans une fenêtre à part thread t(calculFrey(socket));
J'ai placé des instructions avant ET après cette ligne et elles sont exécutées correctement. Ça peut venir d'où ?
Merci.
Problème résolu, je dois instancier le foncteur avant...
Merci à tous de m'avoir aidé à régler mon problème![]()
Partager