.Net プログラマ向けの簡単なステップバイステップの通信チュートリアルを探していました。いくつかの Google クエリの後、net-informations.com で「CSharp Communications」コード コレクションを見つけました。「 How to C# Chat Server」の例にたどり着いた限り、それはかなり良さそうに見えました。
著者は、HashTable コンテナーを使用してマルチスレッド サーバーを提案し、すべての接続をサーバー側の共有メモリに保持します。MSDN のドキュメントによると、ブロードキャスト メッセージに使用されるTcpClientおよびNetworkStreamクラスはスレッド セーフではありませんが、例では複数のサーバー スレッドからそれらを使用しています。
私の質問は次のとおりです。
- 例が間違っていることを確認できますか?
- ブロードキャスト メソッドをロックする (クリティカル セクションとしてマークする) だけで十分ですか?
- ソケット通信のチュートリアルをお勧めできますか (.Net を推奨)。