Subscribe登録

対象のクライアントハンドルSubscribeインスタンスを指定して、Subscribeの登録を行います。

Subscribeの登録はMagellanManagerクラス、またはMagellanHostを通じて行われます。
MagellanHostWorker(Publish/Subscribe型通信)接続コールバック引数から取得できます。

詳細

クラス 関数名
MagellanManager registerPubSub_Subscriber
要否 引数名 説明
必須 handle MagellanClientHandle クライアントハンドル
必須 sub PubSub_Subscriber* Subscribeインスタンス
戻り値(型) 説明
MQTTRegisterStatus Subscribe登録リクエスト結果

tips用アイコン

  • Subscribe登録は 接続 時に指定したクライアントハンドル(接続先)毎に行います。 MagellanHostを通じてSubscribe登録を行う場合は、接続リクエスト実行時に指定したクライアントハンドルに対してSubscribe登録を行う事になる為、第一引数指定は不要となります。
  • Subscribe登録はMQTT接続が確立している状態で実行してください。
    MQTT未接続の状態で登録を行う事はできません。
  • Subscribe登録リクエスト結果はSubscribe登録リクエスト実行に対する結果です。
    Subscribe登録完了の確認は、 コールバック(Subscribe登録完了) もしくは Subscribe登録状況の確認 で行ってください。

実装例

/******************************
/ MagellanHostを通じて行う場合
******************************/

//コールバック(接続)
void pubsub_connect_callback(MagellanHost* host, MQTTConnectStatus status)
{
	//Subscribeインスタンス生成
    PubSub_Subscriber *sub = new PubSub_Subscriber(“Topic”,MQTT_QOS_FIRE_AND_FORGET);

    //Subscribe登録
    host->registerPubSub_Subscriber(sub);
}



/******************************
/ MagellanManagerを通じて行う場合
******************************/
//MagellanManagerインスタンス取得
MagellanManager *mng = MagellanManager::getInstance();

//クライアントハンドル生成
MagellanClientHandle mHandle =  mng->createClient(“example.com”, 443,”CONSUMER_KEY”,”CONSUMER_SECRET”);

//初期化
bool result = mng->initializePubsub(mHandle, “1.0.0”, “pubsubClientID”);
:
:(※省略)
:
//接続状態確認
bool isConnect = mng->isConnectedPubSub(mHandle);
If(isConnect)
{
	//Subscribeインスタンス生成
    PubSub_Subscriber *sub = new PubSub_Subscriber(“Topic”,MQTT_QOS_FIRE_AND_FORGET);

    //Subscribe登録
    mng-> registerPubSub_Subscriber(mHandle, sub);
}