質問

私は(唯一の学習のための)C#でのインスタントメッセージングプログラムに取り組んでいます。
私のやり方が正しいか間違っている場合だけたくは知っている。
私はNetworkStreamおよび読み取り/書き込み機能が含まれているwhice Clientクラスを作成しました。
サーバーは、スレッドが任意の新しいメッセージを聞く、すべてのクライアントのための新しいスレッドを作成します。

任意のより良い方法はありますか?

役に立ちましたか?

解決

あなたは、必ずしもクライアントごとにスレッドを生成する必要はありません。それはあなたが1つのトーカに複数のリスナーをしたい場合は特に、インスタント・メッセージング・アプリケーションを見て良い方法ですパブリッシュ・サブスクライブ問題を対処するように私はオブザーバー・デザイン・パターンを検討したいです。 ここで開始するには良い場所だ: http://www.blackwasp.co.uk/Observer.aspx に。このリンクは、Observerパターンを説明し、インスタントメッセージングを言及: http://www.oodesign.com/observer -pattern.htmlするます。

あなたは、シングルスレッドのアプローチは、多くのメッセージについていくことができるかもしれことがあります。あなたがあなたのクラスの設計方法によっては、あなたはそれが役に立つ自分自身のスレッドで全体の会話を置くことを見つけることがあります。あなたはまた、同様に、独自のスレッドでキューリーダーで、受信および送信メッセージを処理するためにキューを使用して考える必要があります。

楽しいプロジェクトのように聞こえます。

他のヒント

WCFを試してみてください。 ここのがいい例です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top