サーバーがインターネットを介して多くのクライアントに同じメッセージを送信するクライアントサーバーアーキテクチャを実装する必要があります。約5分ごとに1つのメッセージを送信する必要があります。メッセージは5KBを超えません。接続されている多数のクライアント(50.000〜100.000)に拡張できるソリューションが必要です
私はたくさんの解決策を検討しました:
TCPソケット
UDPマルチキャスト
WCF httpデュプレックスサービス(comet)
UDPソリューションは、同じネットワーク上のクライアントにのみ適したソリューションであり、インターネット上では機能しないため、破棄する必要があると思います。多くのクライアントが接続されている場合、WCFマルチキャストがボトルネックになることをどこかで読みましたが、パフォーマンス統計を示すドキュメントがどこにも見つかりません。Tcpソケットは、私が選択するソリューションのようです。についてどう思いますか?私は正しいですか?
UDPがインターネットで機能しないと言うとき、私は確かに間違っています...マルチキャストをサポートするには、ネットワークに適切に構成されたルーターが必要であると指摘する記事を読んだので、これを考えました...udpポートのマルチキャストを読みました範囲とそれがローカルであることを意味すると思った。代わりに、224.0.0.1〜239.255.255.255(クラスDアドレスグループ)の範囲にインターネット経由で到達できます。
私の場合、信頼性は重要なポイントではないことを考えると、udpマルチキャストは良い選択です。.netフレームワークは、これを実現するために非常に役立つクラスを提供します。UdpClientを簡単に起動し、2行のコードでマルチキャストアドレスでデータの送信を開始できます。クライアント側では、それは本当に簡単です。私が必要としていることを正確に実行するUdpSingleSourceMulticastClientクラスがあります。信頼性とセキュリティに関係することについては、.netフレームワークには、DoS攻撃、DNS再バインド攻撃、およびリバーストンネル攻撃を処理するスマートでシンプルな方法があります。これについては、http://msdn.microsoft.com/en-us/library/ee707325で説明しています。 (v = vs.95).aspx