l'utilisation de plusieurs objets io_service

J'ai mon application en ce qui écouter et traiter les messages provenant à la fois des prises internet et les sockets de domaine unix. Maintenant, j'ai besoin d'ajouter le protocole SSL pour les prises internet, j'ai été en utilisant un seul io_service objet pour tous les sockets dans l'application. Il semble maintenant j'ai besoin d'ajouter séparés io_service objets pour les sockets réseau et les sockets de domaine unix. Je n'ai pas de fils dans mon application et je l'utilise async_send et async_recieve et async_accept pour traiter les données et les connexions. Merci de m'indiquer des exemples de l'utilisation de plusieurs io_service objets avec async gestionnaires.

Pourquoi ne pouvez-vous pas encore utiliser 1 io_service? À l'aide de plusieurs io_services peut être bon pour des fins d'évolutivité, mais alors vous avez besoin pour exécuter toutes les io_service dans son propre thread (voir HTTP-2 exemple boost.org/doc/libs/1_53_0/doc/html/boost_asio/examples.html)
R - pouvez-vous préciser? J'ai lu quelque part que l'I/O les gestionnaires peuvent utiliser plusieurs threads. Dites-vous que chaque thread qui gère une async_read, par exemple, doit utiliser un autre io_service objet?
Bryan Non, j'ai dit le contraire: si vous utilisez plusieurs io_services, vous avez l'habitude de courir chacun dans son propre thread (io_service-par CPU approche, voir l'exemple ci-dessus).
Dans sa formulation actuelle, cette question n'est pas un bon ajustement pour. Il n'y aura pas une seule bonne réponse pour point de moi à certains liens. Je suggère d'édition de reformuler votre question à un problème spécifique.
Je ne comprends toujours pas ce problème que vous obtenez lors du passage de même io_service exemple pour les deux tcp::socket et ssl::stream<tcp::socket>?

OriginalL'auteur Ravikumar Tulugu | 2013-03-19