1

node.js のMQTTクライアントを理解し、実装しようとしています。

128 バイト未満のプレイロードをパブリッシュすると問題はなく、メッセージは正しく送信されますが、ペイロードが大きい場合、パブリッシュの直後に node.js が「ブローカーによって接続が閉じられました」と出力されます。私は websockets と node.js に比較的慣れていないため、上記の node.js-server-implementation が 128 バイトを超えるプレイロードを処理できない理由がわかりません。より大きなペイロードを送信する必要があるため、誰かが制限を増やすのを手伝ってくれると助かります.

ありがとう。

4

1 に答える 1

2

リンク先のコードの制限に気付くでしょう (実際にはhttps://github.com/yilun/node_mqtt_clientの修正版です):

128 バイトを超えるペイロードを処理できません。

これはクライアント ライブラリの制限であり、MQTT の制限ではありません。

より大きなペイロードのサポートを追加するには、仕様で説明されているように、PUBLISH パケットの完全な「残りの長さ」のサポートを実装する必要があります: http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt -v3r1.html#固定ヘッダー

于 2013-01-15T12:40:46.903 に答える