ブースト asio のドキュメントを数時間読んでいますが、ドキュメントは本当に素晴らしいと思いますが、必要なシステムを実装する方法についてはまだ少し混乱しています。
ゲーム エンジンから tcp 経由でコンピューターのリストに情報をストリーミングする必要があります。問題の 1 つは、従来の pub/sub とは異なり、情報の配信を行うコンピューターが、実際にはサブスクライバーにも接続する必要があるコンピューターであるということです (サブスクライバーがパブリッシャーに登録するのではなく)。これは、構成ファイルを介して行われます。これは、IP/ポートのリストと、それぞれが必要とするデータです。サブスクライバーはリッスンしますが、パブリッシャーの IP を知りません。(ちなみに、私はネットワーク プログラミングにまったく慣れていないので、何かが欠けている可能性があります..しかし、このスタイルの「逆」クライアント/サーバー モデルに関する情報があまり見つからないのは奇妙です..)
ブースト asio を使用してこのようなシステムを実装するための提案を探しています。もちろん、ネットワークを既存のエンジンに統合する必要があるので、それに関しては、フレームごとに複数のコンピューターに送信されるメッセージを処理するにはどうすればよいでしょうか? async_write を使用し、io_service.run を呼び出して、すべてのフレームをリセットしますか? io_service.run に独自のスレッドを持たせる方がよいでしょうか? それとも、スレッドを使用してブロッキング書き込みを使用する必要がありますか?
私の質問の一部を扱うスレッドを見つけました: ゲームループ内で io_service を使用する - Boost::Asio : io_service.run() vs poll() or how do I integrate boost::asio in mainloop . いくつかのことを試して、良い解決策が見つかったら、より明確な回答を投稿します.