0

私はActiveMQとしてMicrosoftサービスバスを使用しようとしました。私はsslレイヤーをactivemqにと設定しました。また、$ cbsキューは、azure servicebus SDKを使用しているc#アプリケーションによって既に作成されています。Microsoftサービスバスの代わりにActiveMQを使用する

しかし、私は私のデバイスのための紺碧IotHub SDK Cを使用しようとしたとき、私がActiveMQのユーザ名パスワードを渡す必要があると思われます。デバイスをActiveMQに接続するためにiothubtransport_amqp_common.cを変更するにはどうすればよいですか。

amqpnetliteを使用してAzure IoTHubに接続できました。私がactiveMQに接続したいのであれば、私はUsernameとPasswordを渡すべきです。それはうまくいく。だから、私は知りたい:azure iot sdkでこれらの2つのオプション(ユーザー名とパスワード)をどのように渡すことができますか?

+0

を追加する必要がありますプログラム。ソースプログラムの名前から、AMQPプロトコルを使用して接続しようとしているように見えます。これを確認してください:http://activemq.apache.org/amqp.html –

+0

私は** activeMQ **の設定に問題はありません。 [amqpnetlite](https://github.com/Azure/amqpnetlite)を使用して** Azure IoTHub **に接続できます。 ** activeMQ **に接続したい場合は、_Username_と_Password_を渡す必要があります。そしてそれは__OK__で動作します。だから私は知りたい:[azure iot sdk](https://github.com/Azure/azure-iot-sdk-c)これら2つのオプション(_Username_と_Password_)をどのように渡すことができますか? –

答えて

0

Azure iothub sdkは、saslメカニズムではMSSBCBSを使用しますが、activeMQではPLAIN saslを使用します。ユーザー名とパスワードを渡すには、PLAIN saslを使用する必要があります。プット

if ((sasl_mechanism = saslmechanism_create(saslmssbcbs_get_interface(), NULL)) == NULL) 

SASL_PLAIN_CONFIG sasl_plain_config; 
      sasl_plain_config.authcid = "username"; 
      sasl_plain_config.authzid = NULL; 
      sasl_plain_config.passwd = "password"; 

if ((sasl_mechanism = saslmechanism_create(saslplain_get_interface(), &sasl_plain_config)) == NULL) 
ライン49の代わりに、中 紺碧-IOT-SDK-C/iothub_client/SRC/iothubtransport_amqp_connection.c :SASL機構を変えるためにあなたがこのファイルを編集することができます

また、あなたは、関連するログ・ステートメントおよび/またはのソースを共有する必要があるだろう...ここに行くのに十分な情報がありません の#include「azure_uamqp_c/sasl_plain.h」

関連する問題