複数のクライアントと単一のサーバーで構成される一連のプログラムを構築しています。
クライアントは頻繁にデータの小さなパケットをサーバーにプッシュします。サーバーは情報を検証し (データが無効な場合はエラーを返します)、受信した情報を処理します。この情報は、クライアントがサブスクライブするイベントの発火を引き起こす可能性があり、クライアントは即座に (または可能な限り近い) 通知を受けることができます (少量のデータと共に)。
これを行う方法についていくつかのアイデアがありますが、主に永遠に時間がかかり、おそらくいくつかのエラーを犯す可能性があるため、独自のプロトコルを作成することは避けようとしています. そのため、そのような機能を提供するシステムに実装できる既存のプロトコルがあるかどうか疑問に思っていました。
クライアントの数は最初は非常に少なくなりますが、時間の経過とともに増加し、数千のクライアント (独自のサブスクリプションを持つ) と、いくつかのフロント エンド サーバー (それぞれがサブスクリプションのサブセットを処理する) が含まれる可能性があります。機能を向上させるためのバックエンド サーバー。
したがって、これらの要件と機能を実装する既存のプロトコルを知っている人がいれば、それは素晴らしいことです。
編集
私は現在、XMPP プロトコルと JXTA プロトコル スイート (参照用であり、別の言語で実装) を調べています。どちらも非常に優れているようで、必要な接続を提供しますが、自分の環境でそれぞれをテストする機会がなく、また、私が試みていることに適しているかどうかさえもテストできませんでした.
さらに、一部のネットワーク クライアントはローカル ネットワークの外部にあり、WAN 経由で動作します。セキュリティはそれほど問題ではありませんが、これによる遅延の増加と、特定のポートまたはトランスポート プロトコル (I一部の ISP は UDP パケットをブロックしているというテキストを読んだことがありますが、これがどこまで広がるかはわかりません.自宅、オフィス、携帯電話、友人の家などで行うことができますが、まだ自分で経験したことはありません)。