問題タブ [mosquitto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4568 参照

.net - .NET コードをノード レッド プラットフォームに接続する方法

メッセージを送信するためのしきい値を探している .net コードがあります。これで ledborg を点灯させたいと思います。node-red プラットフォームと mosquitto-message ブローカーを使用して、ラズベリー pi の ledborg に接続しています。しかし、.net から nodered プラットフォームにメッセージを送信する方法についてはまだ混乱しています。使用できるメッセージブローカーなどはありますか?? 私はこの分野に不慣れです。

0 投票する
1 に答える
12771 参照

mqtt - 2 つのモスキート ブローカー間のブリッジ

Raspberry Pi で実行される mosquitto ブローカーと PC の mosquitto ブローカーの間にブリッジを作成したいと考えています。

mosquitto.conf ファイル (Raspberry Pi 上) で、ブリッジ設定を次のように設定しました。

接続は問題ないようですが、ローカル トピックでパブリッシュしようとすると、サブスクライブしたクライアントでリモート/トピックにメッセージが表示されません。

例:

私は何を間違っていますか?

0 投票する
1 に答える
7801 参照

security - Websocket で MQTT を保護する方法

Websocket を介して MQTT ブローカーをブラウザーに表示するときに、Mosquitto を保護する最善の方法を理解したいと思います。このブログ投稿に従って、私は現在、websocket レイヤーに Lighttpd を使用しています。

私のユースケースは単方向です。ブラウザにメッセージを送信するだけです。したがって、ACL を使用して、悪意のある人物がメッセージを公開するのを防ぐことができます。

しかし、どうすれば悪党が購読をやめさせたり、そもそも接続を確立したりするのを止めることができるでしょうか?

MQTT 接続に ID/pw を使用できることはわかっています。したがって、ユーザーが自分自身を認証すると、アプリサーバーはブラウザーに資格情報を送信でき、Javascript クライアントはこれらの資格情報を使用して MQTT/WS 接続を確立できると思います。しかし、何千ものクライアントがある場合、ID とパスワードをどのように管理すればよいでしょうか? それとも、ほんの一握りの ID を持っていて、定期的にリサイクルする必要がありますか? mosquitto-auth-plugに従って、このビットを Redis などに渡す必要がありますか?

Webサーバー層内で接続を保護することにより、より良い方法があるかどうか疑問に思いました. Lighttpdのmod_secdownloadプラグインは、共有シークレット (サーバー側で保持) のハッシュとタイムスタンプに基づいて URL を動的に生成できるモデルを提供しているようです。ユーザーが認証されると、アプリ サーバーはこの URL を渡し、クライアントはそれを使用して MQTT ブローカーへの接続を確立します。しばらくすると URL の有効期限が切れ、Javascript クライアントはこの例外をキャッチでき、ユーザーがまだ認証されている場合は、新しい WS 接続 URL を要求できます。これは多くの API 認証に似たパターンです。ここにメリットはありますか?

より良い方法はありますか?

ありがとう、J.

0 投票する
8 に答える
48483 参照

linux - mosquitto-client が拒否された接続を取得する

mosquitto ライブラリを使って MQTT プロトコルを使いたいです。

まず、mosquitto-clients のインストールをテストしたいと思います。

このプログラムは、2 つの「メソッド」を提供します。

  • mosquitto_pub
  • mosquitto_sub

この指示に従って、新しいトピックを送信しようとしています:

デフォルトのホスト/ポート [localhost/1883] を使用します。

私は得る:

エラーとしてあまりにも一般的です..誰かが私を助けることができますか?
ファイアウォールの問題でしょうか?この場合、これが問題かどうかを確認するにはどうすればよいですか?

Linux ubuntu を使用しています ( 3.8.0-42-generic #62~precise1-Ubuntu)

nb libmosquitto を使用してカスタム プログラムを作成する場合と同じ動作です。

0 投票する
1 に答える
895 参照

push-notification - MQTT サーバーを実行するためのアドバイス

サーバーで Mosquitto MQTT ブローカーを実行したいと考えています。そして、たとえば 1000 万人のユーザー/クライアントを接続したいと考えています。最初にいくつか知りたいことがあります。

  1. Mosquitto は 1000 万のアライブ接続を処理できますか?
  2. クライアントごとに 8 つのトピックとカテゴリが必要な場合、ブローカーは 8000 万のトピックを処理できますか?!
  3. 10 万のクライアントが同時にメッセージを発行するとどうなりますか? ブローカーはそれを処理できますか?
  4. 上記のすべての答えが「はい」の場合、それを Windows Server 2008 R2 で問題なく実行するには、どのようなハードウェア仕様が必要ですか? (CPU、RAM、HDD、...)
  5. Mosquitto よりも優れたブローカーはありますか? (パフォーマンス、ユーザー/パスのサポート、ssl/tls のサポート)
  6. まったく不可能な場合、Whatsapp/Viber/Wechat/その他のような大企業/アプリは、アプリのプッシュ通知をどのように処理していますか?
0 投票する
1 に答える
1045 参照

c# - HiveMQ を使用した M2Mqtt ライブラリ

そのため、ローカル マシンで実行している hivemq サーバーがあり、TLS 経由で c# の M2Mqtt ライブラリを使用してサーバーに接続できる場所に接続しようとしています。このガイドに従って、c# の証明書を作成しました。

http://www.embedded101.com/Blogs/PaoloPatierno/tabid/106/entryid/366/MQTT-over-SSL-TLS-with-the-M2Mqtt-library-and-the-Mosquitto-broker.aspx

次に、このガイドに従って、証明書を hivemq の jks キーストアに変換しました。 http://blog.jgc.org/2011/06/importing-existing-ssl-keycertificate.html

最初のガイドと同じように、mostomq を使用して証明書とコードが機能していることを確認しました。jks キーストアがどのように作成されているかを推測していますが、これに関する情報があれば教えてください。

0 投票する
1 に答える
2349 参照

c++ - C++ で Mosquitto を使用してファイルを公開するにはどうすればよいですか?

メッセージ/ファイルを公開するために mosquitto C++ ラッパーを使用しています。

私のテストでは、テキストを含むメッセージを簡単に送信できますが、ファイルを送信するにはどうすればよいですか?

私のパブリッシャーの方法は次のとおりです。

Pythonでファイルを公開する方法が説明されているこの投稿を見つけました。
C ++でもほぼ同じですか?
その場合、サブスクライバーでファイルとプレーン テキストを区別するにはどうすればよいですか?

0 投票する
1 に答える
1434 参照

node.js - node.js mqttがコールバックからmosquittoブローカーに公開

node.js を使用しているときにコールバックがどのように「キューに入れられる」かがよくわからないため、心配になります。

ノード mqtt クライアントからメッセージを受信する tcp サーバーがあります。メッセージが mqtt クライアントの onMessage コールバックに到着すると、接続されている TCP クライアントにメッセージを送信するメソッドが呼び出されます。サーバーは (ピーク時に) 毎秒約 150 のメッセージを処理します。それぞれ 50 から 300 バイトです。

たまに「謎」のロックアップがあります。サーバーは稼働していますが、クライアントにメッセージが配信されません。

tcp サーバーが「最後の」メッセージでクライアントへのサービスを終了する前に「新しい」メッセージが到着する可能性があり、これが混乱を招く可能性があるかどうかはわかりません。「古い」メッセージハンドラーを処理する関数は、後で到着するためにスタックにプッシュされる可能性があり、すべての新しいメッセージが処理されたときに続行されると予想されます。

現時点では、メッセージを配信する関数への重複呼び出しを防ぐために、ミューテックスやその他のデバイスを使用していません。だから私の質問は、ノードと mqtt クライアントがこのレベルのメッセージングを処理し、重複する可能性のあるメッセージを処理することを信頼するべきか、それとも何らかのスロットリング、キューイング、またはミューテックス機構を組み込む必要があるかということです。もしそうなら、kue モジュールは論理的な方法でしょうか?