すべてのクライアントがTCP(クライアントごとにTcpClient + TcpListener)を使用して互いに通信するクライアントサーバーアプリケーションがあります。TcpClient - 私はそれを置き換えることができますか?
したがって、クライアントAが何かを実行すると、クライアントB、C、応答を待ちます。これは、多くのクライアント(今の20のような)で遅くなってしまいます。特に、クライアントBが死ぬと、クライアントAはタイムアウトまで待ちます。
もっと良い方法があれば誰もが同じ時刻にパッケージをブロードキャストできますか?私は皆さんのホスト名などを知っています。
メッセージを送信し、正常に受信したかどうかを知る必要があります。
私のオプションは何ですか?
すべてのクライアントがWindowsを実行している場合は、OSの(オプションの)一部であるMSMQを使用できます。 –
@Colin Desmondはい、これは当てはまりますが、MSMQキューは単にFIFOであり、ディスパッチ戦略(ブロードキャスト)を作成するためには何らかの努力が必要です。 –
私はあなたが言っていることを見ています。この時点ではアプリはサポートモードのみであるため、変更は最小限に抑える必要があります。そして、私は間違いなくサーバーインフラストラクチャを追加したくありません。 – katit