MQTT broker for Android

后端 未结 5 1763
灰色年华
灰色年华 2020-12-15 00:11

Does anyone know of an MQTT broker that runs on an Android smartphone? I tried to Google and found nothing, and on the app store there seems to be only one app with just 10

5条回答
  •  攒了一身酷
    2020-12-15 00:18

    Add these dependencies to the gradle

        dependencies{
       compile 'io.moquette:moquette-netty-parser:0.8.1'
        compile 'io.moquette:moquette-broker:0.8.1'
        compile 'io.moquette:moquette-parser-commons:0.8.1'
    }
    

    And use

    io.moquette.server.Server server = new io.moquette.server.Server();
    server.startServer();
    

    to start broker server. the default URI is tcp://localhost:1883

    For me server.startServer(); gave me exception as it is unable to create a file BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME. So, I changed the destination of the BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME using this code below code and it worked for me.

         try {
             MemoryConfig memoryConfig = new MemoryConfig(new Properties());
    memoryConfig.setProperty(BrokerConstants.PERSISTENT_STORE_PROPERTY_NAME, Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME);
        server.startServer(memoryConfig); 
            // server.startServer();//is not working due to DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME; 
            Log.d(TAG,"Server Started");
             }
             catch (IOException e) { e.printStackTrace(); }
             catch (Exception e){ e.printStackTrace(); }
    

    And Use Paho libraries for android

    compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
    compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
    

    To create a client and connect to tcp://localhost:1883 and subscribe for a topic and start publishing and receiving messages.

    moquette library for android.

提交回复
热议问题