問題タブ [paho]

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 投票する
1 に答える
1702 参照

java - MQTT (paho) + activeMQ を使用してメッセージを受信する正しい方法は?

トピックとキューで activeMQ 5.9.1 を使用する Java Swing アプリケーションがあります。

今、私の意図は、そのスイング アプリケーションを Web に移行することです。そのため、activeMQ + MQTT (paho) javascript ライブラリを使用していくつかの証明を作成しています。

私はactivemq.xmlでそれを有効にしました:

また、いくつかのトピックをリッスンするために、MQTT (paho - http://eclipse.org/paho/clients/js/ ) を使用していくつかの例を実装しました。

トピックへの応答は正しく受信されますが、復元されたメッセージは Java String オブジェクト参照です。

JavaアプリケーションがactiveMQトピックに直接書き込む場合、フレンドリーなメッセージを受け取る正しい方法を知っている人はいますか?

0 投票する
4 に答える
9671 参照

java - MQTT サポート キューは ActiveMQ にありますか?

私はこれに慣れておらず、このプロトコルについて学んでいます。MQTT に関する wiki を読みながら。最初の行「MQTT[1] は、TCP/IP プロトコルの上で使用するパブリッシュ/サブスクライブ ベースの「軽量」メッセージング プロトコルです。」

これは、MQTT がトピックのみをサポートし、キューをサポートまたは操作しないことを意味しますか?

なぜなら、利用可能なクライアント API (fusesource と paho) でチェックアウトするからです。キューのクライアント API が見つかりません。

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

android - android - 公開用 Paho MQTT サービス

私は Android とサービスが初めてです。私の目標は、サブスクリプションを設定し、トピック文字列に関する出版物を作成できるようにすることです。トピック文字列とクライアント ID は、テキスト フィールドの入力を解析した後に設定されます。私はPaho MQTT サービスを使用しています(ソースをダウンロードして JAR をビルドしました)。

次の場合、 で Null ポインタ例外が発生しc.publish()ます。は、配信トークンが取得されているメソッドでのlogcat例外を示しています。IMqttDeliveryToken publish(String topic, MqttMessage message, Object userContext, IMqttActionListener callback)MqttAndroidClient

このサービスを使用して発行および購読する方法を教えてください。サンプル プロジェクト (Paho Android から) を参照しました。LWT のレイアウト ( activity_publish.xml) はパブリケーションにも使用されているようで、LWT とパブリッシュはマージされているようです。

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

mqtt - Paho サンプル pub/sub アプリでエンドツーエンドのレイテンシを測定する

私の目的は、MQTT デバイス間のメッセージ レイテンシ (スループットではない) を測定することであり、コード ハックに関するフィードバックを探しています。セットアップは簡単です。2 つのエンドポイントとして機能する 1 つのデバイス (2 つのターミナル セッションを備えた古い Linux PC。1 つはサブスクライバーを実行し、もう 1 つはパブリッシャー サンプル アプリを実行) と のデフォルト ブローカーtcp://m2m.eclipse.org:1883)。src/samplesフォルダの C 言語パブリッシュ/サブスクライブ サンプル アプリに、タイム キャプチャ コード フラグメントを挿入しました。

以下、変更点です。フィードバックをお寄せください。

サブスクライブ サンプル アプリの変更点MQTTAsync_subscribe.c( )

msgarrvd(メッセージが到着しました) 関数の先頭に以下の行を挿入しました

パブリッシュ サンプル アプリへの変更MQTTAsync_publish.c( )

onSend(callback) 関数の先頭に以下の行を挿入しました

これらの変更により (パブリッシャーで配信が確認された時刻からメッセージがサブスクライバーに到着した時刻を差し引いた後)、1 ミリ秒から 0.5 ミリ秒の間の時間が得られます。

質問

これはレイテンシーの大まかなベンチマークとして意味がありますか?

これは往復時間ですか?

往復時間は適切な球場でしょうか? 少ないほうがいい?もっと?

一方通行の時間ですか?

別の方法でレイテンシ ベンチマークを設計する必要がありますか? 大まかな測定が必要です(XMPPと比較しています)。

デフォルトの QoS 値 (1) を使用しています。変更する必要がありますか?

パブリッシャーが接続 (および切断) するのに一定の時間がかかります。これらを追加する必要がありますか?

0 投票する
6 に答える
7811 参照

java - Android - ネットワーク接続が変更されると、Paho Mqtt クライアントがメッセージを受信しません (モバイル データが無効になり、再度有効になります)。

Mosquitto Mqtt と paho API を使用して、Android デバイスでプッシュ メッセージを受信して​​います。しかし、ネットワーク接続が変更されるとすぐに、メッセージの受信が停止します。簡単なテスト ケースで問題を再現する手順は次のとおりです。

1) 簡単なアクティビティを作成します。

2) アクティビティの起動時に、paho API を介して mosquitto テスト サーバー (test.mosquitto.org:1883) に接続します。

3) トピックを購読します。

4) トピックにメッセージを発行します。

結果: Mqtt クライアントは、トピックに発行されたすべてのメッセージを受信します。今

5) モバイルのインターネット接続を無効にする (モバイルデータ)

6) トピックにメッセージを発行します。

7) インターネットに再接続します。

結果:クライアントは、インターネット接続が無効になった後に公開されたメッセージを受け取りません。

KeepAliveIntervalは高い値 (30 分) に保たれているため、インターネットに再接続した後、すべてのメッセージを受信する必要があります。

同じユース ケース (同じコード) は、ラップトップでインターネットを無効にしてユース ケースを実行する単純な Java プロジェクト (Android 以外) で機能しています。

Androidデバイスで動作しない理由はありますか??? 何か不足していますか?

ノート:

1) mqtt-client-0.4.1 の使用

2) Android ターゲット API レベル 11

3) テスト中にデバイスをスリープ モードにしない。

4) connectionLost コールバックで呼び出しを取得せず、mqtt コールバックの 4 つのスレッドすべてがテスト ケース全体で実行されています。つまり、mosquitto サーバーへの接続はそのままです。

0 投票する
0 に答える
3870 参照

javascript - PhantomJS での MQTT over WebSockets "AMQJS0008I Socket closed" 接続エラー

JBoss AeroGear JavaScript 通知機能は、さまざまなメッセージング サービスおよびプロトコルと対話するための統合/類似 API を提供するアダプターのコレクションです。

問題

Eclipse Paho MQTT JavaScript クライアントに依存するJBoss AeroGear JS MQTT over WS アダプターの QUnit テストをいくつか書いています。テストは Firefox/Chrome では機能しますが、PhantomJS 1.9.7 ではAMQJS0008I Socket closed接続エラーで失敗します。

当初、私のテストは Apache Active MQ ブローカー バージョン 5.9.0 に対して実行されていました。このバージョンは、すぐに WebSocket 経由で MQTT をサポートします。また、WebSockets サンドボックス環境で Eclipse Paho MQTT を使用するようにそれらを変更しましたws://iot.eclipse.org/wsが、問題はまだ存在します。

再現する方法は?

GitHub リポジトリのクローンを作成しますhttps://github.com/tolis-e/aerogear-js-integrationstackoverflowブランチをチェックアウトし、実行npm installしてからgrunt integration-iot --debug. テストが Firefox/Chrome で機能していることを確認するにtests/notifier/mqttws.htmlは、ブラウザで を開きます。QUnit テストはmqttws.jsファイル内にあります。以下のログでわかるように、AMQJS0008I Socket closedエラーが発生しています。

エラーの原因について何か考えはありますか? この問題は、PhantomJS 1.9.7 が Web Sockets RFC 6455 をサポートしていないことに関連していると私は考えています。RFC 6455 は PhantomJS 2.x でサポートされるようです。

ログ

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

python - ハングする Paho Python Mqtt Single Publish のトラブルシューティング方法

ローカルの mosquitto インストール (RPi 上) への公開に関する問題をトラブルシューティングする方法を探しています。

mqtt-os-status と同様に、mosquitto_sub と _pub のコマンドは問題なく動作することがわかりました。

pipでpaho-mqttをインストールしましたが、次のことを試しています:

Python コマンド プロンプトが返されません... 最後に試してから数分経ちましたが、エラー メッセージが表示されるかどうかを確認するためにそのままにしておきます。

トラブルシューティングを開始する場所について何か提案はありますか? または誰かが似たようなものに出くわしましたか?

マット

0 投票する
0 に答える
1154 参照

multithreading - 3 つのスレッドで複数のクライアントを作成する

作成された新しいクライアントごとに、他に 3 つのスレッドが作成されることに注意しました (1 つはパブリッシュ用、1 つは再接続用、もう 1 つはメッセージ到着用)。そのため、100 個のクライアントを作成すると、大量のスレッドが発生します。すべてのクライアントに同じコールバックを再利用しようとしましたが、うまくいきませんでした。

複数のクライアントを 3 ~ 5 スレッドのみで実行する方法はありますか??

ありがとう


私はpaho Javaライブラリを使用しています。

私のコードは次のようなものです:

//永続性とコールバックは静的です

ありがとう