問題タブ [pgm-protocol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - EPGM トランスポートで JZMQ を使用するとデータが送受信されない
プロジェクトで TCP 経由で PGM を使用する利点をテストするために、Java フレーバーの zmq を試しています。そこで、天気の例を zmq ガイドから、epgm トランスポートを使用するように変更しました。すべてがコンパイルされて実行されますが、何も送受信されていません。トランスポートを TCP に戻すと、サーバーはクライアントから送信されたメッセージを受信し、期待どおりのコンソール出力が得られます。
では、PGM を使用するための要件は何ですか? bind メソッドと connect メソッドに渡す文字列を変更し、zmq_pgm の zmq API に従っています: "transport://interface;multicast address:port"。それはうまくいきませんでした。この形式を使用しようとすると、無効な引数エラーが発生します。そのため、「機能する」インターフェイスとセミコロンを削除して単純化しましたが、結果が得られません。
pgm/epgm を使用する jzmq の例を見つけることができず、Java バインディングの API ドキュメントでは、バインドまたは接続に渡されるエンドポイントの適切な文字列形式が定義されていません。それで、私はここで何が欠けていますか?クライアントとサーバーに異なるホストを使用する必要がありますか?
注目すべき点の 1 つは、VirtualBox VM (Ubuntu 14.04/OSX Mavericks ホスト) でコードを実行していることです。それが私が現在直面している問題と関係があるかどうかはわかりません。
サーバ:
クライアント:
udp - 低遅延のリアルタイム メッセージ用に、epgm を使用して zeromq pub/sub を構成する
少し調べてみたところ、信頼性の低い udp ユニキャストは zeromq でサポートされているプロトコルではないことがわかりました。未解決の問題、UDP サポート #807がありますが、実際の活動はありません。私の質問は、epgm (または pgm) プロトコルを使用して zeromq pub/sub を構成し、従来の udp ユニキャスト パフォーマンス (および動作) に近づける方法を教えてください。
私がこの質問をする理由は 2 つあります。まず、私のリアルタイム システムでは、かなりの割合でメッセージを公開しています。メッセージが配信されない場合、メッセージを破棄して次のメッセージを送信するよりも、メッセージを再送信する方が悪いです。第二に、私のシステム内には、zeromq 通信パターンが適用される他の多くのユースケースがあります。さらに、このシナリオでも、従来の zeromq tcp pub/sup が望ましいユース ケースがあります。システム全体で zeromq を使用することは非常に理にかなっているため、独自の udp 実装を展開することなく、このシナリオでも zeromq を使用したいと考えています。(私は zeromq の初心者であり、ネットワーク プログラミングの専門家ではないため、udp を zeromq に追加することは範囲外です。)
udp は zeromq の現在のプロトコルではないため、epgm pub/sub に適切なオプションを設定して、目的の通信に近づけるにはどうすればよいですか?
フィードバックをいただければ幸いです。
zeromq - zeromq pgm 回復不能データの検出
各ノードに PUB と SUB の両方があるシステムに取り組んでいます。これらのノードのいずれかが長時間切断された場合、ネットワーク内のどこかにあるデータベースなど、より安全なストレージからデータを取得できるはずです。通信は ePGM プロトコルで行われます。
これまでに学んだように、PGM は回復不能なデータ損失を検出できます。zeromq からは監視機能があるように見えますが、ドキュメントで得た情報から、接続指向のプロトコルのみを監視できるように見えます。
この「回復不能なデータ」イベントに「フック」する方法や、zeromq から切断/再接続イベントを取得する方法はありますか?
c++ - ZeroMQ PGM Multicast はアプリケーション層からの応答処理をサポートしていませんか?
サンプルの ZeroMQ PGM マルチキャスト アプリケーションを実行しましたが、正常に動作しています。
しかし、返信処理が機能していません。これは正しいアプローチですか?
はいの場合 - 受信者から送信者への返信方法は?
送信者:
レシーバー: