問題タブ [mqtt]
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.
android - androidバックグラウンドサービス静的フィールドは同じメッセージを2回送信します
解決策が見つからないという大きな問題があります。君の力が必要。
サービスを使用してアクティビティでメッセージを1つだけ送信しようとすると、機能します。しかし、2つのメッセージを次々に送信しようとすると(つまり、次々に)、同じpublishTopic2とpushMsg2でメッセージを2回送信します。
コードは:
1-これはsyncronizedキーワードの間違った使用によるものですか?2-なしで2つのメッセージを次々に送信することは可能ですか
mqtt - メッセージが Apollo サーバーに保持されない
fusesource コードを使用して mqtt メッセージを Apollo サーバーに公開すると問題が発生します。次のようなコードでメッセージパブリッシャーを書きました
トピックにサブスクライブするメッセージ コンシューマーも作成しました。最初にコンシューマーを開始し、次にパブリッシャーを開始した場合、コンシューマーはすべてのメッセージを正しく取得できます。ただし、最初にパブリッシャーを開始してからコンシューマーを開始すると、コンシューマーはメッセージを受信しません。また、Apollo 管理コンソールにアクセスしましたが、キューにメッセージが見つかりませんでした。(添付のスクリーンショットを参照してください)。
この問題を解決するにはどうすればよいですか? コンシューマーを常に実行することはできませんでした。パブリッシャーからのメッセージを失いたくありません。コンシューマーがオフラインの場合、ブローカー (Apollo) はすべてのメッセージを保持するべきではありませんか? はいの場合、なぜ私はそれを見ることができなかったのですか?
これはばかげた質問のように思えますが、私は MQTT にかなり慣れていないので、助けが必要です。
design-patterns - MQTT トピックのスケーリング
MQTT の機能と全体的なプッシュ設計について簡単な質問があります。ここで、Twitter の場合のシナリオを考えてみましょう。Twitter は、個々のユーザーにプッシュ通知を送信したいと考えています。では、私がツイートしたときに、あなたが私の通知トピックを購読しているとしましょう。これは適切なトピック階層であり、MQTT の使用例でしょうか?
私がパブ/サブシステムから理解していることから、これは非常に面倒になります。個々のユーザーごとにトピックを用意する必要はありませんか? この種のシステムのトピックに制限はありますか? 何百万人ものユーザーを抱える大規模なアプリケーションは、プッシュ通知をどのように送信するのでしょうか?
c - パブリッシュからの MQTT recv および mqtt ping C
MQTT 用のクライアントを開発しているテスト プログラムで、この問題が発生しました。トピックを購読しています。その後、サーバーからクライアントへの「公開」メッセージを待ちます。
(パブリッシュ メッセージの) 良好な recv の後、または recv タイムアウトの後、mqtt PINGREQ をサーバーに送信します。
A PINGREQ の後、PINGRESP を待ちます。その後、PUBLISH メッセージを待っている場合と同様に、recv を呼び出します。
こんな流れなら
サーバー パブリッシュ メッセージが失われました。これを解決するには?QOS 0 で MQTT を使用しています。このレベルの QOS でこの問題を解決するのは理にかなっていますか、それとも QOS1 でこのケースをチェックするのが賢明ですか?
android - MQTT を使用してリクエスト / レスポンス動作を実装できますか
MQTT を使用して、サーバーからオープン ソース サーバー mosquitto を使用することにした Android デバイスにメッセージを配信することを計画しています。
ほとんどの場合、これで十分です (発行/購読) が、クライアントがパラメーターを送信してサーバーから応答を取得する必要がある場合があります。直接的なアプローチは Http (たとえばサーブレット) を使用することです。しかし、MQTT を使用してこれを達成することはできますか?
javascript - MQTT トピックと一意性の問題
私は MQTT を少し試していますが、少し奇妙なことに遭遇しました。それは私の特定の設定が原因である可能性がありますが、とにかく聞いてみようと思いました.
Node.JS と mqttjs をブローカーとして使用しています。Java で書かれた IBM ia92 テスト クライアントも使用しています。
次のようなトピックにサブスクライブし、クライアント/system/app
にメッセージを発行すると/system/appp
、トピック名は同じではありませんが、このメッセージを受け取ります。に公開して/system/ap
も、メッセージが届かないことに注意してください。もちろん、公開は正常に/system/app
機能します。
これは、MQTT が似たようなものに「自動入力」するということですか、それともクライアント/ブローカーの間違いですか? +
とのワイルドカードについては認識して#
いますが、この「機能/バグ」については知りません。
私が使用しているブローカーは次の場所にあります。
https://github.com/adamvr/MQTT.js/blob/master/examples/server/orig.js
23行目に奇妙な正規表現があり、なぜそれが必要なのか、それが何をするのかを理解しようとしました。これが機能でない場合、おそらくバグの原因になる可能性がありますか? 誰かがこれについて考えているなら、私はとても感謝しています.
mqtt - Web ブラウザーは MQTT を使用できますか?
構築中の新しいデバイスのメッセージング プロトコルとして MQTT を使用することを検討しています。また、デバイス用の Web インターフェイスも必要です。MQTT を使用するブラウザー クライアント アプリを (追加のプラグインなしで) 実装できるかどうか知っている人はいますか?
mqtt - COSM MQTT サブスクライブは、フィードまたはデータストリームが更新されるたびに更新ステータスを受け取りません
COSM で MQTT をテストしています。
データを公開するには、以下のコマンドを使用します。
サブスクライブするには、以下のコマンドを使用します。
サブスクライブ側では、フィードまたはデータストリームが更新されるたびに更新ステータスを取得する必要があります。ただし、サブスクリプションの直後にデバイスの現在の状態を取得するだけです。
何か見逃しましたか?
android - Android 使用時の RSMB MQTT ブローカーのクライアント識別子のソケット エラー
Android 用の単純な MQTT クライアントを構築していますが、RMBS コンソールで「クライアント識別子のソケット エラー」エラーが発生しています。これは、クライアントの Android 実装でのみ発生します (Java デスクトップ クライアントも作成しましたが、問題なく実行されます)。Android クライアントについては、Paho Java クライアント ライブラリを訴えています。これが私のコードです:
これは Android クライアントです。
これはデスクトップ Java クライアントです。
いくつかのメモ:
私は WiFi 経由で Android デバイスに接続しており、Java Dekstop クライアントを実行するときのデスクトップも同様です。
Java Destop Client が RSMB と同じマシンで実行されている
Java デスクトップ クライアントは、トピック「House/Kitchen/Bulb」を作成してサブスクライブし、文字列「Hello」を含むメッセージを送信します。
Android クライアントは、"House/Kitchen/Bulb" にもサブスクライブし、受信したメッセージでトーストを表示しようとします。
Androidマニフェストにインターネット許可を追加しました
Android デバイスはブローカーに問題なく接続しているようですが、Java Desktop Service クライアント (または Eclipse の Paho クライアント プラグイン) を初期化してメッセージを発行するとすぐに、上記のエラーが表示されます。
RSMB が実行されているのと同じマシンでエミュレーターを使用してアプリを実行しましたが、同じエラーが発生します。
何が問題なのですか?
アップデート:
もともと、「メイン スレッドのネットワーク」例外が発生したため、接続操作を AsyncTask に移動しました。Java クライアントでメッセージを発行すると、Android クライアントはまだ接続されているようですが (Asynctask が問題を引き起こしている可能性があります)、MqttCallback() の messageArrived() が呼び出されていないようです。
更新 2:
私はそれを機能させることができました。ここに私が今使っているコードがあります: