2016-11-10 7 views
0

私はpython(project pages)にpaho.mqttを使用しようとしています。私が持っている唯一の問題は、誰がメッセージを送ったのかを知ることが非常に便利だということです。私はソースコードを調べましたが、client変数がon_message内で渡された変数が、私が接続するクライアントまたはメッセージを公開したクライアントの詳細(私が最初のオプションだと思っています)であれば頭がおかしくなりませんでした。paho.mqttペイロードを誰に送信したかを知る

だから、質問は - 誰が(ユーザー名)メッセージを送ってきたのかを知ることができるのでしょうか?

答えて

1

MQTTプロトコルは、できるだけ軽量になるように設計されています。つまり、メッセージヘッダーにメッセージを特定のトピックに配信するための最小限の絶対値が含まれています。ヘッダーには何も余裕がない。

MQTTもPub/Subプロトコルです。このタイプのプロトコルの重要な機能の1つは、パブリッシャを可能な限り加入者から切り離すことです。これは、サイト運営者がそこにいる購読者の数に気を付けるべきではなく、加入者は興味のあるトピックに関心がある限り、その情報がどこから来ているかに気を付けるべきではないことを意味します。

メッセージトピックを作成したら、ペイロードに自分自身を追加する必要があります。

+0

10人の異なるサイト運営者(10人の異なる顧客)がいる場合、ペイロードにこれを追加しない限り、誰が何を送信したのかを知ることはできません。 – Greg0ry

+0

はい、もう1つの選択肢は、各顧客が(共通の接頭辞付きで)自分の話題にパブリッシュし、購読者がワイルドカード購読を使用してトピックを使用して、 – hardillb

関連する問題