接続

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

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

tips用アイコン

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

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

tips用アイコン

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

詳細

クラス 関数名
Manager ConnectPubSub
要否 引数名 説明
任意 client ClientHandle クライアントハンドル
任意 keepAlive int keepAlive設定
任意 token string トークン情報(文字列)
任意 ConnectCallback PubSubConnectCallback 接続コールバック
任意 DisconnectCallback PubSubDisconnectCallback 接続コールバック
戻り値(型) 説明
bool 処理結果

tips用アイコン

  • 任意のクライアントハンドルを使用してリクエストを行う場合は第1引数にクライアントハンドルを指定してください。
  • デフォルトクライアントを使用する場合はクライアントハンドルの指定は不要です。その際は必ず CreateClient の第5引数でデフォルトクライアントを有効にしてください。
  • トークン設定がない場合は①OAuth 1.0署名(Signature)認証で接続を行います。
  • keepAlive設定がない場合はデフォルト値として30秒が設定されます。
  • 第4、5引数にデリゲートメソッドを指定することで接続時・切断時に実行されるコールバック処理を設定することができます。
  • 設定するコールバック詳細については接続コールバック切断コールバックを参照してください。
  • 接続結果は 接続コールバック で確認してください。
  • リクエスト処理結果に応じて以下の値が戻り値で返却されます。
    • 接続リクエスト成功true
    • 接続リクエスト失敗false

実装例

//コールバック(接続)
void ConnectCallback(Clienthandle client, Manager.PubSubConnectStatus status)
{
    //コールバック(接続)処理
}

//コールバック(切断)
void DisconnectCallback(Clienthandle client, Manager.PubSubDisConnectStatus status)
{
    //コールバック(切断)処理
} 

//クライアントハンドル生成
Magellan.ClientHandle client = Magellan.Manager.Instance.CreateClient(“example.com”,1883,”CONSUMER_KEY”,”CONSUMER_SECRET”);

//初期化
Magellan.Manager.Instance.InitializePubSub(client, “0.0.1”);

//Consumer Secretを使用した接続
Magellan.Manager.Instance.ConnectPubSub(client, 30, ConnectCallback,DisconnectCallback);

//トークン文字列を使用した接続
Magellan.Manager.Instance.ConnectPubSub(client,“Token”,30, ConnectCallback,DisconnectCallback);