2012-04-21 8 views
1

私はC#でソケットプログラミングを始めました。私は、複数のクライアントを持つクライアント/サーバーアプリケーションを開発しています。私は、サーバーとそのクライアントの間の通信をどのように形成するかについてはあまりよく分かりません。C#ソケットプログラミング初心者

  • クライアントが何かをするためにサーバーを呼び出すキーワードメッセージ(つまり「文字列」)を送信することをお勧めしますか?
  • 処理する必要のある(作成した)特定のクラスのインスタンスをクライアントが送信することをお勧めしますか?
  • サーバとクライアントの間でファイルを送受信(私はXMLを使用しています)することをお勧めしますか?

クライアント/サーバーアーキテクチャのアプリケーションを初めて開発した経験がありましたので、私の質問が素朴であれば申し訳ありません。

私はthis linkを見つけましたが、そのようなアプリケーションの例がありますが、他のウェブサイト/書籍/チュートリアルを誰かが知っているのか不思議でした。

+0

+1 to WCF recomendation。 csharp-multi-threaded-socket.htmは、複数の接続を処理する悪い方法を示しています。新しいクライアントごとに新しいスレッドを作成することは、ボトルネックを保証します。 – Radik

答えて

3

最新のC#アプリケーションを作成する場合は、クライアント/サーバーアプリケーションを作成するためにプレーンソケットに頼る必要はほとんどありません。代わりに、WCFサービスを作成することができます。 (tutorialを選んで試してみてください)。

プレーンソケットの代わりにWCFサービスを使用すると、プロトコルの作成、解析、およびそのような種類のもので多くの配管作業を省くことができます。