接続

Worker(Publish/Subscribe)を利用する場合、リクエスト実行前にMQTT接続が必要となります。 MAGELLANのMQTT接続は以下2つの認証方式をサポートしています。

  • ①OAuth 1.0署名(Signature)認証
  • ②トークン認証

tips用アイコン

②トークン認証で接続を行う場合は、事前にトークン取得(発行)が必要となります。
トークン取得(発行)については トークンの取得について を参照してください。

MQTT接続はクライアントハンドル生成時に設定した接続先(ホストポートConsumer keyConsumer secret)に対して1接続のみとなります。

tips用アイコン

同一接続先に対して複数接続を行うことはできません。

詳細

クラス 関数名
MagellanManager connectPubSub
要否 引数名 説明
必須 handle MagellanClientHandle クライアントハンドル
任意 keepAlive int keepAlive設定
任意 token const char* トークン情報(文字列)
戻り値(型) 説明
bool 処理結果

tips用アイコン

  • トークン設定がない場合は①OAuth 1.0署名(Signature)認証で接続を行います。
  • keepAlive設定がない場合はデフォルト値として30秒が設定されます。
  • 接続結果は 接続コールバック で確認してください。
  • リクエスト処理結果に応じて以下の値が戻り値で返却されます。
    • 接続リクエスト成功true
    • 接続リクエスト失敗false

実装例

void connectCallback(MagellanHost* host, MQTTConnectStatus status)
{
    //コールバック(接続)処理
}

void disconnectCallback(MagellanHost* host,  MQTTDisconnectStatus status)
{
    //コールバック(切断)処理
} 

//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”);

//コールバック設定
mng-> setPubSubConnectCallback(mHandle, connectCallback);
mng->  setPubSubDisconnectCallback(mHandle, disconnectCallback );

//MQTT接続
mng->connectPubSub(mHandle, 30, “token”);