問題タブ [pahocpp]

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.

0 投票する
1 に答える
1004 参照

c++ - Paho C++ 非同期クライアント コールバック vs action_listener vs connected_handler

async_client を使用する場合の Paho MQTT C++ ライブラリのさまざまなコールバック メカニズムの使用法と動作を理解しようとしています。具体的には次のとおりです。

  • mqtt::コールバック
  • mqtt::iaction リスナー
  • mqtt::connection_handler

私が達成しようとしているもの:接続が成功し、トピックのリスト(最初に単一のトピック)へのサブスクリプションが成功するのを待つブロッキング初期化メソッドに加えて、接続が切断された場合にそれらのトピックへの自動再接続サブスクリプションアウト。

「async_subscribe」サンプル ( https://github.com/eclipse/paho.mqtt.cpp/blob/master/src/samples/async_subscribe.cpp ) は、mqtt::callback::connected でトピックをサブスクライブする必要があることを示唆しています。ただし、サブスクリプションが正常に完了するまで待機する方法は示されていません。私の理解では、接続されたコールバック内のサブスクライブ トークンで「待機」を呼び出すべきではないということです。待機するプライベート var _subscribeToken を設定した場合、接続トークンが完了するのを待った後に設定されているかどうかは保証されないようです。つまり、(疑似コード):

初期化中:

コールバックがまだ呼び出されていることを保証しない場合、connectToken->wait のポイントは何ですか? 私は何かを誤解している可能性が非常に高いですが、正しい方向に向けたいです!