トピックのパブリッシュとサブスクライブを行うクライアント/サーバーアプリケーションを作成しています。 私は、このプロジェクトのアーキテクチャと実装に関するいくつか質問があります。トピックのパブ/サブシステムの作成
最初にC#(.NET 3.5)を使用し、明示的にRaw Sockets/AIO/Threadsを使用します(最初はWCFなしでサーバとクライアントを自分のニーズに合わせて調整したい) 。クライアントは主にトピックを購読しますが、時にはサーバーにコマンドを送信し、データを公開することさえあります。いくつかのクライアントは出版社だけでもよい。
あなたは私のサーバーの 基本的なビルディング・ブロック( クライアントあたりのスレッド、IOCP、....)でなければならどう思いますか。
クライアントが サーバにパブリッシュ/サブスクライブ 話題を聞いて、コマンドを送信するために同じ NetworkStreamを使用する必要がありますか?データを待つ方法と同じ 同じスレッドで行う必要があります ストリームに同時にデータを書き込みますか?
(サンプルコードが認識されるであろう:))
なぜホイールを改造するのですか?なぜMSMQ( 'System.Messaging')を使用しないのですか?あるいは[CodeMesh](http://www.codemesh.com/products/jmscourier/examples/topic_pub_cs.html)のようなもの? トロールするつもりはない...私は、この問題の領域が多くの製品を通じて十分に調査されていることを尋ねるだけです。このアプローチでは、OOTBのために解決される多くの難しい問題があります。 – cwash
こんにちは、私はこれらのアプリケーションが実際に私の目標を達成するかもしれないことに同意しますが、私は内部のことを学び、私のアプリを微調整する方法を知って、いくつかのデザインの長所と短所を見ることができるように、さらに、私のアプリケーションはいくつかのトピックを購読できる必要がありますが、それらのすべてではありません。私はまた、帯域幅を節約し、多くのローカルアプリ全体でメモリを共有するためのローカルプロキシを作成する必要があります。 – Dave