私はあまり経験がありませんboost::asio
。かなり基本的な質問があります。
スレッド化されたサーバーでクライアントを処理するには、別io_service
の、および別socket
のthread
1つの単一のサーバーを使用する必要がありますか?acceptor
新しいクライアント用に別のソケットが必要だと思います。しかし、すべてのスレッドが同じものio_service
を使用する場合、それは並列になりますか?
asioセクションのhttp://en.highscore.de/cpp/boost/index.htmlを調べていましたが、並列化を実現するには、さまざまなスレッドにさまざまなio_servicesが必要であると書かれています。
new TCPsession
新しいクライアントが表示されるたびに作成するServerクラスを作成しacceptor.async_accept
、TCPSession
ctorがとを作成しio_service
てそれを独自のスレッドでthread
実行する場合、それは良い設計でしょうか?io_service.run()
ただし、この設計では、これらすべてのスレッドをどこで結合しますか?新しいクライアントを取得する前でも終了しないように、別io_service
のものが必要ですか?main