3
  1. 私のOSはWindows7,32ビットです。

  2. mosquitto-1.1.2-install-win32.exeをインストールします。

  3. ファイルを変更しないmosquitto.confので、トピックプレフィックスの設定はありません。

  4. Mosquittoを使用して、(サブスクリプションウィンドウ)のようなトピックをサブスクライブします。

    mosquitto_sub.exe -q 2 -t mytopic
    OR mosquitto_sub.exe -q 2 -t # 
    
  5. Mosquittoを使用して、(公開ウィンドウ)のようなトピックを公開します。

    mosquitto_pub.exe -q 2 -t mytopic -m “hello″
    
  6. 次に、サブスクリプションコマンドウィンドウで、「こんにちは」を受け取ることができます

  7. DaleLaneのブログと「AndroidMQTTサンプルプロジェクト」をフォローしてMosquittoにアクセスしています。

    java client(MQTTDemo.java): 
    //i use mobile emulator
    editor.putString(“broker”, "10.0.2.2″); 
    editor.putString(“topic”, "mytopic”); 
    //or editor.putString(“topic”, “#”); '#' match any topic
    
  8. テストconnectToBroker()インしましたMQTTService.javaが、接続はOKです。

  9. トピック「mytopic」をMosquittoで再度公開します。

  10. しかし、最終的にモバイルエミュレータでメッセージを受信できません。

    誰かが理由や他の方法を知っていますか?

    どうもありがとう!

4

1 に答える 1

3

ブローカーの構成方法によって異なる場合があります。Mosquittoブローカー内には、チャネルごとにトピックプレフィックスを指定する方法があります。それ以外の場合は、サブスクリプショントピックをジェネリックとして指定する必要があります。これらのいずれかがあなたの状況に当てはまるかどうかはわかりませんが、簡単な診断があり、それらの使用について説明していないので、出発点として提供します。

  1. わかりやすい方法は、サブスクライブして#、受け取ったトピック文字列を確認することです。
  2. ブローカーを監視する別のサブスクリプションを常に用意してください。たとえば、WebSphere MQでは、#パブリケーションをテストする前にGUIを使用してサブスクリプションを作成します。GUIでパブリケーションを取得したが、アプリでは取得しなかった場合は、何も取得しなかった場合とは異なる問題セットを示しています。

問題のより良い説明には、この鑑別診断のいくつかが含まれます。機会があれば、質問を再テストして編集し、結果を確認してください。

于 2013-02-13T18:06:22.073 に答える