Paho MQTT(C ++)クライアントがMosquittoへの接続に失敗する

ジョー・ストラウト

MQTTブローカーに接続するためにPahoMQTTPacket Embedded C ++ライブラリを使用するC ++コードがあります。そのブローカーがio.adafruit.comの場合、完全に正常に機能します。しかし、それが私のRaspberry Piで実行されている自分のMosquittoインスタンスである場合、接続は失敗します。MQTTClient.hのMQTT :: Client :: connectメソッドで、この行に絞り込みました。

// this will be a blocking call, wait for the connack
if (waitfor(CONNACK, connect_timer) == CONNACK)

アプリはここで約30秒間ハングし、その後CONNACK以外の結果(具体的には2ではなく0)を取得します。

プロトコルバージョン3(つまり3.1)と4(つまり3.1.1)の両方を試しました。同じ結果。

私のMosquittoインスタンスには、認証またはパスワードが設定されていません。Mosquittoログでデバッグメッセージをオンにしようとしましたが、何も役に立ちません。私は途方に暮れています。C ++ PahoコードからMosquittoに接続できないのはなぜですか?

編集:これがクライアントコードです...繰り返しますが、これはAdafruitで正常に機能しますが、ローカルホストのMosquittoをポイントすると、説明どおりにハングします。(ユーザー名とパスワードを省略しました-送信していますが、コマンドラインでmosquitto_pubまたはmosquitto_subを使用すると、mosquittoが次のように構成されているため、これに関係なく接続できます。匿名接続を許可します。)

const char* host = "127.0.0.1";
int port = 1883;
const char* clientId = "ZoomBridge";
const char* username = "...";
const char* password = "...";
MQTT::QoS subsqos = MQTT::QOS2;

ipstack = new IPStack();
client = new MQTT::Client<IPStack, Countdown, 30000>(*ipstack);

MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
data.willFlag = 1;
data.MQTTVersion = 3;
data.clientID.cstring = (char*)clientId;
data.username.cstring = (char*)username;
data.password.cstring = (char*)password;

data.keepAliveInterval = 20;
data.cleansession = 1;

int rc = ipstack->connect(host, port);
if (rc != MQTT::SUCCESS) {
    cout << "Failed [1] (result " << rc << ")" << endl;
    return rc;
}

rc = client->connect(data);
if (rc != MQTT::SUCCESS) {
    cout << "Failed [2] (result " << rc << ")" << endl;
    ipstack->disconnect();
    return rc;
}
hardillb

コメントでハッシュ化されたように。

クライアントの遺言と遺言を設定することを示すフラグを設定しているようですが(data.willFlag = 1;)、LWTのトピックまたはペイロードを渡していないようです。

LWTが必要ない場合は、フラグを0に設定します(または回線設定フラグを削除します)。デフォルトでは無効になっているはずです。

また、明確にするために指摘する価値がありますが、これはすべて、本格的なPaho C ++クライアントではなくPahoEmbedded C ++ MQTTPacketクライアントを使用したものです

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Paho(MQTT)クライアントが接続できません

分類Dev

Eclipse Paho MQTTクライアント:既存の接続を確認する方法は?

分類Dev

Debianにeclipse / paho.mqtt c ++クライアントをインストールする

分類Dev

Paho MQTT JSクライアントはすでに接続エラーですか?

分類Dev

自己署名証明書を使用してAndroid(pahoクライアント)のMqttサーバーに接続するにはどうすればよいですか?

分類Dev

Paho MQTT Golangプロトコル

分類Dev

Eclipse paho Mqtt:java.io.EOF例外の取得

分類Dev

pahoのMQTTは接続に接続できません

分類Dev

paho-mqttクライアントは同時に複数のブローカーに接続できますか?

分類Dev

MQTT Paho JavaScriptクライアントの使用を開始するにはどうすればよいですか?

分類Dev

Linking Paho C Mqtt library error in C++ Project

分類Dev

PAHO MQTT Pythonクライアント-確認応答がなく、サブスクライバーへの配信が保証されています

分類Dev

Javaクライアント(Eclipse Paho)からmosquittoブローカーへのSSL接続: "unknown_ca"

分類Dev

ライブラリを持つターゲットのホストでPaho-Mqtt-Cアプリケーションを開発する

分類Dev

Paho MQTT Pythonクライアント:例外はスローされず、停止するだけです

分類Dev

同じクライアントローカルにサブスクライブしている2つのpaho.mqttクライアント

分類Dev

インポートエラー:paho.mqtt.clientが見つかりません

分類Dev

Paho-MQTT Error result code: 5

分類Dev

paho mqtt:python3でコンパイルするときの誤った出力

分類Dev

PythonでPAHO-MQTTを使用して複数のトピックをサブスクライブする方法

分類Dev

小さなLinuxボードにpaho-mqttをインストールする際の問題

分類Dev

LNK2019 error when compiling a Visual C++ Win32 project with Eclipse Paho MQTT

分類Dev

tkinterとpaho-mqtt-clientの無限ループを配置する方法は?

分類Dev

Android paho MQTTサービスをクリーンにシャットダウンする方法は?

分類Dev

Python paho-mqttをジョブキューと統合する方法は?

分類Dev

Python で paho mqtt を使用して受信メッセージを処理する

分類Dev

Paho MQTTは、コンパイル中に未定義の参照エラーをスローします

分類Dev

クライアント側のread()がCに失敗する

分類Dev

paho python mqttクライアントがサブスクライブされたトピックからメッセージを取得すると、受信したメッセージに常に「b」が追加されます

Related 関連記事

  1. 1

    Paho(MQTT)クライアントが接続できません

  2. 2

    Eclipse Paho MQTTクライアント:既存の接続を確認する方法は?

  3. 3

    Debianにeclipse / paho.mqtt c ++クライアントをインストールする

  4. 4

    Paho MQTT JSクライアントはすでに接続エラーですか?

  5. 5

    自己署名証明書を使用してAndroid(pahoクライアント)のMqttサーバーに接続するにはどうすればよいですか?

  6. 6

    Paho MQTT Golangプロトコル

  7. 7

    Eclipse paho Mqtt:java.io.EOF例外の取得

  8. 8

    pahoのMQTTは接続に接続できません

  9. 9

    paho-mqttクライアントは同時に複数のブローカーに接続できますか?

  10. 10

    MQTT Paho JavaScriptクライアントの使用を開始するにはどうすればよいですか?

  11. 11

    Linking Paho C Mqtt library error in C++ Project

  12. 12

    PAHO MQTT Pythonクライアント-確認応答がなく、サブスクライバーへの配信が保証されています

  13. 13

    Javaクライアント(Eclipse Paho)からmosquittoブローカーへのSSL接続: "unknown_ca"

  14. 14

    ライブラリを持つターゲットのホストでPaho-Mqtt-Cアプリケーションを開発する

  15. 15

    Paho MQTT Pythonクライアント:例外はスローされず、停止するだけです

  16. 16

    同じクライアントローカルにサブスクライブしている2つのpaho.mqttクライアント

  17. 17

    インポートエラー:paho.mqtt.clientが見つかりません

  18. 18

    Paho-MQTT Error result code: 5

  19. 19

    paho mqtt:python3でコンパイルするときの誤った出力

  20. 20

    PythonでPAHO-MQTTを使用して複数のトピックをサブスクライブする方法

  21. 21

    小さなLinuxボードにpaho-mqttをインストールする際の問題

  22. 22

    LNK2019 error when compiling a Visual C++ Win32 project with Eclipse Paho MQTT

  23. 23

    tkinterとpaho-mqtt-clientの無限ループを配置する方法は?

  24. 24

    Android paho MQTTサービスをクリーンにシャットダウンする方法は?

  25. 25

    Python paho-mqttをジョブキューと統合する方法は?

  26. 26

    Python で paho mqtt を使用して受信メッセージを処理する

  27. 27

    Paho MQTTは、コンパイル中に未定義の参照エラーをスローします

  28. 28

    クライアント側のread()がCに失敗する

  29. 29

    paho python mqttクライアントがサブスクライブされたトピックからメッセージを取得すると、受信したメッセージに常に「b」が追加されます

ホットタグ

アーカイブ