4

C++ と Qt を使用してメッセージング システムを実装しています。よく考えた結果、マルチキャストまたはマルチキャスト スタイルの手法が問題を解決するのに最適であると判断しました。しかし、私は UDP の信頼性の低さを知り、受け入れられないと考えています。

私の要件は次のとおりです。

  • メッセージは、バイナリのシリアル化された形式で送信されます。
  • ネットワーク上の任意のノードから、他のノードにメッセージを送信できなければなりません。
  • メッセージの配信には保険が必要です。

UDP の代替として OpenPGM と NORM があると聞いたことがあります。誰かがこれらのいずれかの経験がある場合は、共有していただけますか?

また、アプリケーション層で「信頼できる」マルチキャストを自分で実装する可能性にもオープンですが、これを既に実装しているライブラリがある場合はそうしないことを好みます。

私は C++ と Qt を使用しているため、.NET または Java ベースのソリューションは、オープンソースでない限り受け入れられず、C++ に移植する可能性があります。

どうもありがとうございました。

EDIT 20120816T1853 MDT:追加の質問: ハードウェア/IP レベルで PGM または NORM を実装する必要がありますか? それとも、既存のプロトコルの上に重ねることができますか?

4

3 に答える 3

4

RSPと呼ばれる UDP を介した独自の信頼性の高いマルチキャスト プロトコルを実装しました。これは、クロスプラットフォームが必要であり、当時 Linux と Windows の間で適切なソリューションを見つけることができなかったためです。Windows PGM 実装は、送信ウィンドウを離れる低速クライアントを切断しますが、私たちの実装は TCP と同様に送信者を抑制します。Afaik OpenPGM は、同じことを行うように構成できます。

于 2012-08-17T07:34:49.090 に答える
3

http://cs.itd.nrl.navy.mil/work/normにあるオープン ソース NORM は、ライブラリとして構築でき、Python および Java 言語バインディングを備えた C++ API を備えています。メーリング リストを介して開発者 (私) に ping を送信していただければ、作業の開始をお手伝いできます。

于 2013-01-26T15:34:35.143 に答える
0

信頼できるマルチキャスト プロトコルにはRFC の大規模な部門があり、そこには多くの実装があります。久しぶりに見たけどTRAMとかLRMPとか…

于 2012-08-16T23:48:58.200 に答える